Skip to content

💎 RoR mobile web tool for efficient budget management. Easily track your expenses by categorizing transactions, providing a clear overview of your spending patterns.

License

Notifications You must be signed in to change notification settings

ITurres/budget_app

Repository files navigation

logo

My Budget App


📗 Table of Contents


📖 My Budget App

My Budget App is a mobile web tool for efficient budget management. Easily track your expenses by categorizing transactions, providing a clear overview of your spending patterns.

Learning objectives

  • Use ruby gems as software packages system.
  • Install Ruby on Rails framework.
  • Understand Rails RESTful design and router.
  • Use controllers to handle requests and render empty views.
  • Use params from browser request in a safe way.
  • Use preprocessed html file with embedded Ruby code.
  • Use layouts and templates for shared content.
  • Use database migration files to maintain database schema.
  • Use validations for models.
  • Secure app from n+1 problems.
  • Understand what ORM is.
  • Write SQL queries with ActiveRecord.
  • Set up associations between models.
  • Build a webapp that requires the user to log in.
  • Use devise gem for authentication.
  • Analyze in writing why you have made a coding choice using one structure over another.

🛠 Built With

Tech Stack

Highlighted Gems


🔑 Key Features

  • Users can sign up and log in to the application.
  • Users can create, edit, and delete categories.
  • Users can create and delete transactions.

(back to top)


🚀 Live Demo


💻 Getting Started

To get a local copy up and running, follow these steps.

Prerequisites

To run this project you need:

  • Have Ruby installed. If you need to install Ruby, follow the instructions on the official page.

Setup

Clone this repository to your desired folder:

Example commands:

  • With SSH:
  cd my-folder
  git clone [email protected]:ITurres/budget_app.git
  • With HTTPS:
  cd my-folder
  git clone https://github.com/ITurres/budget_app.git
  • With GitHub CLI:
  cd my-folder
  gh repo clone ITurres/budget_app

Install

Go to the project directory:

 cd budget_app

Before running the program, verify that you have Ruby on Rails installed on your OS by running the following command:

 rails --version

It should show you the version of Ruby On Rails ​​installed. If this does not happen and only an error message is displayed, you should verify your installation or install Ruby on Rails from scratch.

Download and Install Ruby on Rails

Once you have verified that you have Ruby on Rails installed, run the following command to install the necessary gems:

 bundle install

After installing the gems, run the following command to create the database:

 rails db:create

Then run the following command to migrate the database:

 rails db:migrate

Usage

Run the following command inside the project folder to start the application:

 rails s

This will start the application on your local server. You can now open your browser and go to http://localhost:3000/ to see the application running.

Run tests

To execute the tests, run the following command inside the project folder (root):

 bundle exec rspec

(back to top)


👥 Authors

👤 Arthur Iturres

(back to top)


🔭 Future Features

  • Allow users to upload images for their categories.
  • Enhance Desktop version.

(back to top)


🤝 Contributing

Contributions, issues, and feature requests are welcome!

Kindly open any new issues or feature requests on the repo's issues page.

(back to top)


⭐️ Show your support

Give a ⭐ if you liked this project!

(back to top)


🙏 Acknowledgments

I thank the Code Reviewers for their advice and time 🏆

💡 Original design idea by Gregoire Vella on Behance

(back to top)


📝 License

This project is MIT licensed.

(back to top)


About

💎 RoR mobile web tool for efficient budget management. Easily track your expenses by categorizing transactions, providing a clear overview of your spending patterns.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published