Spendex App is a Full-Stack app for keeping tracks of all your expenses built for the Decisiv Inc & LaserAnts Ruby on Rails/React Bootcamp. It uses Ruby on Rails for the backend and React for the frontend.
To get a local copy follow these steps:
-
Ruby 2.7.6
-
Rails 6.1.6
-
PostgreSQL 14.3
-
Clone the repo
https://github.com/AlexRFarnes/expense-tracker.git
-
Once you have the copy, run the following commands inside the directory:
- Run
bundle install
in order to install all the project gems - Set up the username and password in the
config/database.yml
- Run the following commands to create the databases, run the initial migrations and run the the seeds
rails db:create && rails db:migrate && rails db:seed
- Start the application with the command
rails server
or the shortcutrails s
- Run the following command
bin/webpack-dev-server
to enable live reloadig. - Go to your local host
http://127.0.0.1:3000
- Run
The app is the capstone project of the bootcamp to put all the knowledge we acquire through it into a practical project. My project is an expense tracker for keeping track of expenses by categories. The app allows to create categories, edit them and delete them. Each category consists of a title and a description. Also, each category displays the total amount of expenses. Inside each category, all the expenses for that category are displayed grouped by month. As with categories, expenses can be created, edited and deleted. The app was styled with Styled Components and has a minimalist design.
- Frontend
- ReactJS with Hooks
- Axios for handling HTTP requests
- React Router v6
- Styled Components
- Font Awesome
- Backend
- Ruby 2.7.6
- Rails 6.1.6
- PostgreSQL 14.3
- DevOps
- Heroku
List of features ready and TODOs for future development
- Create, edit and delete categories
- Display total amount of expenses for each category
- Create, edit and delete expenses for each category
- Group expenses by month
Future work
- Add the current category name on the expenses show, create and update views
- Create new Users
- Sign in and sign up functionality
- JWT Auth token
- Implement date field on the expenses instead of using the created_at field
- Deploy with Docker
Project is: in-progress.
- GitHub @AlexRFarnes
- Twitter @AlexRFarnes
- Linkedin @AlexRFarnes