Intro
This is a trade tracking and journaling application. More details in CLAUDE.md.
Screenshots
Production
To create a new Heroku app for this project:
heroku create
heroku buildpacks:set heroku/ruby
heroku buildpacks:add --index 1 heroku/nodejs
heroku config:set NPM_CONFIG_INCLUDE='dev' YARN_PRODUCTION=false
git push herokuTo deploy the app to Heroku:
Prerequisites
This project requires:
- Ruby (see .ruby-version), preferably managed using rbenv
- Node 20 (LTS) or newer
- Yarn 1.x (classic)
- PostgreSQL must be installed and accepting connections
On macOS, these Homebrew packages are recommended:
brew install rbenv
brew install node
brew install yarn
brew install postgresql@17
Getting started
bin/setup
Run this script to install necessary dependencies and prepare the Rails app to be started for the first time.
Tip
The bin/setup script is idempotent and is designed to be run often. You should run it every time you pull code that introduces new dependencies or makes other significant changes to the project.
Tip
To drop your existing database and start over with a clean local environment, use bin/setup --reset.
Run the app!
Start the Rails server with this command:
The app will be located at http://localhost:3000/.
Development
Use this command to run the full suite of automated tests and lint checks:
Tip
Rake allows you to run all checks in parallel with the -m option. This is much faster, but since the output is interleaved, it may be harder to read.
Fixing lint issues
Some lint issues can be auto-corrected. To fix them, run:
Warning
A small number of Rubocop's auto-corrections are considered "unsafe" and may
occasionally produce incorrect results. After running fix, you should
review the changes and make sure the code still works as intended.