Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/fmanimashaun/budget-app
- Owner: fmanimashaun
- License: mit
- Created: 2024-01-15T14:47:33.000Z (10 months ago)
- Default Branch: dev
- Last Pushed: 2024-02-03T08:16:48.000Z (9 months ago)
- Last Synced: 2024-10-11T04:42:21.425Z (about 1 month ago)
- Topics: budget-app, budget-management, postgresql, rails-app, rails-application, ruby-on-rails, web-application
- Language: Ruby
- Homepage: https://budget-app-gsnk.onrender.com/
- Size: 415 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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)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
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)
- [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.
> [LIVE Link](https://budget-app-gsnk.onrender.com/)
> [Video demo](https://www.loom.com/share/d45038fec4da479a850a62cc4929b4e7?sid=442ca8e7-66da-458b-9421-e4dcabeede23)
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`.
👤 **Fisayo Michael Animashaun**
- GitHub: [@fmanimashaun](https://github.com/fmanimashaun)
- Twitter: [@fmanimashaun](https://twitter.com/fmanimashaun)
- LinkedIn: [Fisayo Michael Animashaun ](https://linkedin.com/in/fmanimashaun)
- [ ] **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
Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.
[Issue Page](https://github.com/fmanimashaun/myblog/issues)
If you like this project leave a start for it.
- 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
This project is [MIT](./LICENSE) licensed.