Personal Finance is a Ruby on Rails application to keep track of finances in USD.
I built this for myself because other apps are either too complex for my needs (Firefly III), privacy-invasive (Mint), or have a subscription-based business model (Copilot Money). I also don't like connecting my financial accounts to third party sites for security reasons, so this is a manual approach to tracking money. Since I built this for myself, it's a highly opinionated way of tracking finances.
You can run this application locally using Docker.
Clone this repo and cd
into it. Then build the Docker image:
docker build -t personal-finance .
Start up a container from the previously created image while specifying port 3000
:
docker run -p 3000:3000 personal-finance:latest
Then browse to http://0.0.0.0:3000/
.
You can use the demo user credentials to try out the app. This user already has some data so you can get a feel for the app:
- Email:
demo@demo
- Password:
demouser123!
Or you can create a new account and start from scratch.
- RSpec - For writing tests.
- simplecov - Provides test coverage analysis.
- Rubocop - Linting for Ruby code.
- erb-lint - Linting for
.erb
files. - Chartkick - Chart and graph generation.
- devise-pwned_password - Gem that checks if Devise Models are using passwords that have shown up in data breaches. Powered by the pwned gem.
- Bullet - To ensure database queries are efficient
- brakeman - To check for security vulnerabiliies
- Tailwind CSS with the daisyUI library.