Hello! This application is a "work sample" of sorts. I have built it to demonstrate my skills and knowledge with Ruby, the programming language and Rails, the Web framework.
This application runs on Ruby 3.3.0 at a minimum.
This application uses the PostgreSQL database to store and retrieve data.
Configuration can be found in the config/ folder.
Run rails db:create to create the database for the relevant environment.
Whether rails db:create has been run or not, rails db:setup will create the database, load schema from db/schema.rb, as well as insert "seed data" into the database via the instructions in db/seeds.rb.
Once the database is seeded, you can run rails holdings:extract to fetch the latest holdings for each fund and save the fund's portfolio to the database.
No test suite to run yet.
The only external service that runs as a dependency of etfwtf is trading-calendar, a REST API that provides open/close market status for a few dozen markets.
I currently have an instance of trading-calendar deployed to Fly.io; this works very well for a Docker-based application that needs little to no additional configuration.
For the etfwtf Rails application, I am deploying to a production environment in Heroku, which gives me a little better experience when running post-deploy commands to migrate or seed the database as well as run rails holdings:extract.