Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/fmanimashaun/budget-app

The Budget App - Budgetti, built with Ruby on Rails and PostgreSQL, is a user-friendly tool for personal finance management. It allows users to categorize transactions, track spending, and gain insights into their financial habits, promoting responsible budgeting. It's more than an app; it's a simplified and organized approach to personal finance.
https://github.com/fmanimashaun/budget-app

budget-app budget-management postgresql rails-app rails-application ruby-on-rails web-application

Last synced: 11 days ago
JSON representation

The Budget App - Budgetti, built with Ruby on Rails and PostgreSQL, is a user-friendly tool for personal finance management. It allows users to categorize transactions, track spending, and gain insights into their financial habits, promoting responsible budgeting. It's more than an app; it's a simplified and organized approach to personal finance.

Awesome Lists containing this project

README

        

# Budget App - Budgetti

# 📗 Table of Contents

- [📖 About the Project](#about-project)
- [🛠 Built With](#built-with)
- [Tech Stack](#tech-stack)
- [Key Features](#key-features)
- [Screenshots](#screenshots)
- [💻 Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Setup](#setup)
- [Usage](#usage)
- [👥 Authors](#authors)
- [🔭 Future Features](#future-features)
- [🤝 Contributing](#contributing)
- [⭐️ Show your support](#support)
- [🙏 Acknowledgements](#acknowledgements)
- [📝 License](#license)

## 📖 Budget App - Budgetti

The **Budget App - Budgetti** is a comprehensive solution for managing personal finances, designed using Ruby on Rails with a PostgreSQL database. This fully functional application allows users to create categories, track transactions, and get an overview of their spending. An important feature of the app is its ability to associate transactions with categories, enabling users to understand their spending habits better. This promotes responsible financial management, which is a vital part of personal finance. The Budget App is not just an application, but a financial companion that enhances the budgeting experience by organizing and simplifying the process

## 🛠 Built With

Programming Language

  • Ruby 3.2.2

Web Application Framework

  • Rails 7.1.2

Database

  • PostgreSQL (pg gem)

Web Server

  • Puma

JavaScript Modules

  • ESM Import Maps (importmap-rails gem)

UI Styling

  • Tailwind CSS (tailwindcss-rails gem)

Hotwire

  • Turbo (turbo-rails gem)
  • Stimulus (stimulus-rails gem)

APIs

  • Jbuilder

Performance Optimization

  • Bootsnap

Testing

  • Debug
  • Factory Bot (factory_bot_rails gem)
  • RSpec (rspec-rails gem)
  • Capybara
  • Selenium Webdriver

Code Quality

  • Rubocop

Development Tools

  • Web Console (web-console gem)

Pagination

  • Kaminari

Authentication

  • Devise (devise gem)

Authorization

  • CanCanCan (cancancan gem)

### Key Feature

- [x] **User Authentication:** Users can securely register and log in to the app using their email and password.
- [x] **Category Management:** Users can create and manage categories, each with a unique name and icon.
- [x] **Transaction Tracking:** Users can add transactions under each category, with details like name and amount.
- [x] **Budget Overview:** On the home page, users can see an overview of all categories along with the total amount of transactions under each category.
- [x] **Detailed Transaction View:** Users can view all transactions under a specific category, sorted by the most recent.
- [x] **Easy Navigation:** Users can easily navigate between different pages like home, transactions, add new category, and add new transaction.
- [x] **Test Coverage:** The app includes unit and integration tests to ensure it works as expected.
- [x] **Deployment:** The app is deployed and accessible online for users to use it anywhere, anytime.

👆

### Screenshots

public index without login

### LIVE DEMO

> [LIVE Link](https://budget-app-gsnk.onrender.com/)
> [Video demo](https://www.loom.com/share/d45038fec4da479a850a62cc4929b4e7?sid=442ca8e7-66da-458b-9421-e4dcabeede23)

👆

## 💻 Getting Started

To get started with the project, follow the steps below.

### Prerequisites

To run this project, ensure you have the following installed:

- [Git](https://git-scm.com/)
- [Ruby](https://www.ruby-lang.org/en/)
- A code editor (e.g., [VsCode](https://code.visualstudio.com/))

### Setup

Clone the repository to your local machine:

```bash
git clone https://github.com/fmanimashaun/budget-app.git

cd budget-app

bundle install

npm install
```

## Database Setup

This application uses PostgreSQL as the database. Here are the steps to set it up:

1. Ensure PostgreSQL is installed on your machine and running.

2. Update the config/database.yml file with your PostgreSQL username and password in the default section.

3. Create the database:

```bash
rails db:create
```

4. Run migrations to set up the database schema:

```bash
rails db:migrate
```

### Usage

To run the program, you can use a Ruby interpreter. For example, to interact with the code, use the following:

1. Start the server

```bash
bin/dev
```

2. Access the Blog app in your web browser at `http://localhost:3000`.

👆

## 👥 Authors

👤 **Fisayo Michael Animashaun**

- GitHub: [@fmanimashaun](https://github.com/fmanimashaun)
- Twitter: [@fmanimashaun](https://twitter.com/fmanimashaun)
- LinkedIn: [Fisayo Michael Animashaun ](https://linkedin.com/in/fmanimashaun)

👆

## 🔭 Future Features

- [ ] **Responsive Design:** The app will designed to be responsive and works well on various devices and screen sizes.
- [ ] **Customizable Interface:** Users will be able to customize the interface with their preferred color scheme and font

👆

## 🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

[Issue Page](https://github.com/fmanimashaun/myblog/issues)

👆

## ⭐️ Show your support

If you like this project leave a start for it.

👆

## 🙏 Acknowledgments

- I'd like to thank Microverse for helping us in the journey to become a Fullstack developer.

- Special appreciation [Gregoire Vella on Behance](https://www.behance.net/gregoirevella) for the Original design idea

👆

## 📝 License

This project is [MIT](./LICENSE) licensed.

👆