This is the capstone project of the fifth module in the Microverse program.
Check the below contents for further details about this project.
This repository is about a budget management app for grocery items.
Porject is built using Rails
framework with Ruby
.
It is configured to use PostgreSQL
database.
Integration tests using Capybara
gem.
Authentication using Devise
gem.
Authorization using CanCanCan
gem.
Optimized queries with bullet
gem.
📌 Live Demo:
📌 Tech Stack:
- Programming language is
Ruby
- Database used is
PostgreSQL
- Framework used is
Rails
- Tests done with
RSpec
📌 Key Features:
- Responsive layout with all screen sizes
- Splash welcome page for new visitors
- User authentication is required first (
email
/password
) - Registeration requires (
name
/email
/password
) - Navigation side menu with links (
Home
/Account
/Logout
) - Only registered users can access pages
- Each group displays (
name
/icon
/total
) - Every group can contain several grocery items
- Any grocery item can belong to multiple groups
- Each grocery item displays (
name
/amount
) - Users can create new groups and new grocery items
- Back navigation to the previous page
You can easily download or fork this repository and work on it immadiately!
📌 Prerequisites:
- You need
Ruby
language &PostgreSQL
database installed
📌 Installation:
- To get all required gem dependencies run
bundle install
- Create all required databases with
rails db:create
- Create all table schemas with
rails db:migrate
📌 Development:
- Run live server using
rails server
- Manipulate & process models data through
rails console
📌 Tests:
- Run all tests with
bundle exec rspec -f d
📌 Mahammad:
Some additional features I may implement in the project:
- Integrate
React
framework in frontend - Implement (dark / light) theme switch
Wish to contribute to this project?
Contributions, issues, and feature requests are more than welcome!
Feel free to check the issues page too.
Like this project? Show your support by starring!
I thank everyone at Microverse for guiding me through this project.
Special thanks for Gregoire Vella who built the reference design.
This project is MIT licensed.