Skip to content

This is the capstone project of the fifth module in the Microverse program. It is a groceries budget app for managing grocery items for registered users built with Ruby on Rails & PostgreSQL.

License

Notifications You must be signed in to change notification settings

mahammad-mostafa/grocery-budget

Repository files navigation

🏷️ Grocery Budget

This is the capstone project of the fifth module in the Microverse program.
Check the below contents for further details about this project.

📗 Contents

📖 Description

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:

  • Check project live deployment here
  • Watch a presentation for the project from here here

📌 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

back to top

🛠️ Instructions

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

back to top

👥 Authors

📌 Mahammad:

back to top

🔭 Future

Some additional features I may implement in the project:

  • Integrate React framework in frontend
  • Implement (dark / light) theme switch

back to top

🤝🏻 Contributions

Wish to contribute to this project?
Contributions, issues, and feature requests are more than welcome!
Feel free to check the issues page too.

back to top

⭐️ Support

Like this project? Show your support by starring!

back to top

🙏🏻 Acknowledgements

I thank everyone at Microverse for guiding me through this project.
Special thanks for Gregoire Vella who built the reference design.

back to top

📝 License

This project is MIT licensed.

back to top