Thank you for your help and encouragement. I am pleased to report that my first Ruby on Rails site is now operational. Bargain Stock Funds (http://www.bargainstockfunds.com )
now displays profiles of over 10,000 stock ETFs and mutual funds from the value investing point of view. There are detailed profiles of funds, there is a master file showing all data for all funds in CSV format, there is a list of the cheapest stock ETFs, and there is a list showing the valuations of each Vanguard fund. Features in the works include the ability to search for funds by various parameters and listings of the cheapest mutual funds in each style box category (large/medium/small, value/blend/growth).
The source code for my Rails site is at https://github.com/jhsu802701/bsf/ . The source code for the web-scraping script that acquires the fund data is at https://github.com/jhsu802701/bsf-python
. (I tried Ruby initially, but my script was too slow. I’m not sure if switching to Python made it faster, or if other improvements made my script faster. I plan to try Ruby/JRuby when I revamp my Doppler Value Investing project, which profiles individual stocks in terms of net liquidity and free cash flow. The web site is http://www.dopplervalueinevsting.com .)
using a Postgres database to store the data on the stock funds. I chose Postgres because it’s far more robust and can handle far more web traffic than the default SQLite3 database.
I have made sure to use rspec tests and to implement these tests with Guard and Spork. It allows me to implement Joel Spolsky’s principle of testing early and often. (Thanks, Rails!) I understand that history has not been kind to
Rails developers who neglect the testing process, and I had to make sure that I am NEVER tempted to skip this step in the name of “meeting a
My deployment process is configured to AUTOMATICALLY update the config/database.yml file. (Saving the password in plaintext on GitHub is not a viable option.) I had to make sure that I can update
the production web site with ZERO downtime.