- 📖 About the Project
- 🛠 Built With
- 💻 Getting Started
- 👥 Authors
- 🔭 Future Features
- 🤝 Contributing
- ⭐️ Show your support
- 🙏 Acknowledgements
- 📝 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)
- User Authentication: Users can securely register and log in to the app using their email and password.
- Category Management: Users can create and manage categories, each with a unique name and icon.
- Transaction Tracking: Users can add transactions under each category, with details like name and amount.
- Budget Overview: On the home page, users can see an overview of all categories along with the total amount of transactions under each category.
- Detailed Transaction View: Users can view all transactions under a specific category, sorted by the most recent.
- Easy Navigation: Users can easily navigate between different pages like home, transactions, add new category, and add new transaction.
- Test Coverage: The app includes unit and integration tests to ensure it works as expected.
- Deployment: The app is deployed and accessible online for users to use it anywhere, anytime.
To get started with the project, follow the steps below.
To run this project, ensure you have the following installed:
Clone the repository to your local machine:
git clone https://github.com/fmanimashaun/budget-app.git
cd budget-app
bundle install
npm install
This application uses PostgreSQL as the database. Here are the steps to set it up:
-
Ensure PostgreSQL is installed on your machine and running.
-
Update the config/database.yml file with your PostgreSQL username and password in the default section.
-
Create the database:
rails db:create
- Run migrations to set up the database schema:
rails db:migrate
To run the program, you can use a Ruby interpreter. For example, to interact with the code, use the following:
- Start the server
bin/dev
- Access the Blog app in your web browser at
http://localhost:3000
.
👤 Fisayo Michael Animashaun
- GitHub: @fmanimashaun
- Twitter: @fmanimashaun
- LinkedIn: Fisayo Michael Animashaun
- 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.
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 for the Original design idea
This project is MIT licensed.