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
.