Coder Social home page Coder Social logo

sergio-usma / budget-app Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 587 KB

This is a Ruby on Rails 7 app that helps you manage your expenses efficiently by organizing transactions into categories and providing insightful financial data. Keep track of your spending, create new categories, and add transactions with ease.

Home Page: https://budget-app-tlkn.onrender.com/

License: MIT License

Dockerfile 1.97% Ruby 69.81% JavaScript 1.32% CSS 3.03% HTML 23.48% Shell 0.39%
expenses-tracker finance-application

budget-app's Introduction

Rails 7 Capstone Project - BudgetApp

logo

๐Ÿ“— Table of Contents

๐Ÿ“– About the Project

This BudgetApp is a Ruby on Rails 7 project that helps you manage your expenses efficiently by organizing transactions into categories and providing insightful financial data. Keep track of your spending, create new categories, and add transactions with ease. The design WAS inspired by the original design idea by Gregoire Vella on Behance, and it is used under the Creative Commons license.

๐Ÿ›  Built With

  • HTML5
  • CSS3
  • Boostrap
  • Ruby on Rails
  • PostgreSQL

Key Features

  • Users can sign up and log in with mandatory details.
  • Home page displays categories with names, icons, and total transaction amounts.
  • Transactions page lists category transactions with amounts and provides an option to add new transactions.
  • Users can add new categories with names and icons.
  • New transactions require a name, amount, and at least one category.

๐Ÿ’ป Live Demo

๐Ÿ“ฑ Screen captures

Login Features
logo logo
logo logo

๐Ÿ’ป Getting Started

๐Ÿ›  Setup

  1. Clone the Project Repository:

    git clone https://github.com/sergio-usma/budget-app.git
  2. Navigate to the Project Folder:

    cd budget

Prerequisites

Before you can run BudgetApp, ensure you have the following prerequisites and configurations in place:

  • Ruby: Verify that Ruby is installed on your machine by running ruby -v in your terminal. If not, download and install Ruby from the official Ruby website.

  • Ruby on Rails: Install the Ruby on Rails framework using the following command if you haven't already:

    gem install rails
  • Code Editor: Use a code editor like Visual Studio Code (VSCode). If you don't have it, download it from the official website.

  • Git: Make sure Git is installed and configured for version control. Download Git from the official Git website.

  • PostgreSQL: Install and properly configure PostgreSQL on your development server. We assumes the use of PostgreSQL as the default database. Download PostgreSQL from the official PostgreSQL website.

  • Ruby on Rails Configuration: Configure your Ruby on Rails project to use PostgreSQL as the default database.

With these prerequisites and configurations in place, you're ready to set up and run the app.

๐Ÿ“– Usage

Follow these steps to use the app:

  1. Open your Terminal:

    Navigate to the directory where the project files are located:

    cd /path/to/your/project/files
  2. Start the Rails Server:

    rails server
  3. Access to the App:

  • Open your web browser and go to http://localhost:3000 to access to the app.
  • You can login with the default user:
    username: [email protected]
    password: 123456

๐Ÿ‘ฅ Authors

๐Ÿ‘ค Sergio Usma

๐Ÿ”ญ Future Features

  • Users can edit and delete categories.
  • Users can edit and delete transactions.
  • Users can add a description to transactions.
  • Users can add a date to transactions.
  • Users can add a note to transactions.
  • Users can add a photo to transactions.

๐Ÿค Contributing

Contributions, issues, and feature requests are welcome! Feel free to check the issues page and contribute to the project.

โญ๏ธ Show your support

If you like this project, please consider supporting us! Your support helps us to continue developing and improving our project for everyone to enjoy. Whether it's a small donation, sharing the project with your friends, or contributing your skills and expertise, every little bit makes a huge difference. With your support, we can create something truly amazing together. Thank you for being a part of our community and helping us to make a difference!

๐Ÿ™ Acknowledgment

I would like to express my heartfelt gratitude to Microverse for providing us with the opportunityto work on this project. and I would like to extend my appreciation to my fellow contributors who have played a significant role in making this project a successful. their dedication and collaboration have been invaluable. I also like to express our deepest gratitude to Gregoire Vella on Behance for her Original design idea.

๐Ÿ“œ License

This project is licensed under the MIT License as required by the original design idea by Gregoire Vella on Behance under the Creative Commons license.

budget-app's People

Contributors

sergio-usma avatar

Watchers

 avatar

budget-app's Issues

[3pt] Create your models according to the ERD diagram

  • Generate CategoryMovement model /w migrations
  • Generate Movement model /w migrations
  • Generate Category model w/ migrations
  • Generate devise model in User model
  • Add & setup devise gem for Auth
  • Generate User model

Image

[2pt] Add User views and setup styles w/ bootstrap

  • Add Bootstrap to application layout
  • Add flash alerts using partial rendering in general layout
  • Generate devise auth/login default views w/ basic styling
  • Configure routes for devise views and resources
  • Add basic styling for home#index using bootstrap

[4pt] Add styling for controller views

  • Generate devise gem default views
  • Reset browser in general CSS
  • Add styling for devise views using bootstrap
  • Add styling for categories#index view
  • Add styling for movements#index view
  • Add styling for categories controller views
  • Add styling for movements controller views
  • Add CarrierWave for user photo uploads
  • Add views for users_controller

[4pt] Add unit testing using rspec and FIX n+1 errors

  • Check views & database structure
  • Add basic categories seed & increase length to 20
  • FIX Bullet n+1 error by eager loading
  • Add database_cleaner gem to FIX testing BUG
  • Add edit rails_helper to FIX testing BUG
  • Add spec testing for features/movements
  • Add spec testing for features/categories
  • Add spec testing for category & movement models
  • Add factory-bots for spec testing
  • Add spec testing for categories & movements controller

[5pt] Add a header and refactor app

  • Add header for the app, including icons and style guidelines
  • Ensure the app shows flash alerts for alerts & notifications
  • Render header partial on the main app & devise main views
  • Refactor controllers & views logic
  • Add a better styling according to design using CSS + Bootstrap
  • Check routes & general configuration
  • Remove devise & movements unused views
  • Refactor spec testing unused files

[3pt] Add unit testing for models using rspec

  • Add rspec-rails gem & generate blueprints for models
  • Setup factory_bot_rails
  • Install and configure gems for testing
  • Setup factories for models using factory_bot_rails
  • Add spec testing for User model
  • Add spec testing for User model
  • Install active_storage to test icon on Category model

[4pt] Add logic to app controllers

Add basic logic to app controllers ๐ŸŽ›

  • Add HomeController#index basic logic
  • Add basic logic for categories_controller
  • Add basic logic for movements_controller
  • Add basic logic & views for users_controller

Add CRUD methods and advanced features to app controllers ๐Ÿ›‘

  • Add CRUD methods & params for categories_controller
  • Add CRUD methods & params for movements_controller
  • Add icon selector initializer for categories
  • Add devise constraints for sign_up in application_controller

[3pt] Add views for controllers with basic styling

Add basic views for categories_controller ๐Ÿ’ป

  • Add categories_controller index view
  • Add categories_controller show view
  • Add categories_controller new view
  • Add categories_controller edit view

Add basic views for movements_controller ๐ŸŒ

  • Add movements_controller index view
  • Add movements_controller new view

Add basic views for users_controller ๐Ÿง‘โ€๐Ÿฆฑ

  • Add column photo to Users

[2pt] Add controllers with basic CRUD methods

  • Generate users_controller w/ tests & helpers
  • Generate categories_controller w/ tests & helpers
  • Generate movements_controller w/ tests & helpers
  • Generate home_controller w/ tests & helpers
  • Generate devise users_controllers
  • Add controllers basic CRUD methods according to the project

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.