/expense-tracker

An expense tracker made with Rails 6 for the backend and React for the frontend.

Primary LanguageRuby

Spendex App (Capstone Project)

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.

Table of contents

Getting Started

To get a local copy follow these steps:

Prerequisites

  • 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:

    1. Run bundle install in order to install all the project gems
    2. Set up the username and password in the config/database.yml
    3. 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
    4. Start the application with the command rails server or the shortcut rails s
    5. Run the following command bin/webpack-dev-server to enable live reloadig.
    6. Go to your local host http://127.0.0.1:3000

General info

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.

Screenshots

View of all categories

Screenshot 2022-06-29 at 07-58-03 ExpenseTracker

View for creating a new category

Screenshot 2022-06-29 at 09-17-51 ExpenseTracker

View for editing a category

Screenshot 2022-06-29 at 08-07-46 ExpenseTracker

View of all expenses for that category

Screenshot 2022-06-29 at 08-06-37 ExpenseTracker

View for creating a new expense

Screenshot 2022-06-29 at 09-19-50 ExpenseTracker

View for editing an expense

Screenshot 2022-06-29 at 08-07-28 ExpenseTracker

Built with

  • 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

Features

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

Status

Project is: in-progress.

Contact