This is the group 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 recipes app with food items & shopping list.
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.
Pagination using kaminari
gem.
Optimized queries with bullet
gem.
📌 Live Demo:
- Check the project live from 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
- User authentication is required first (
email
/password
) - Navigation menu with links (
home
/All recipes
/My foods
/My recipes
) - Only public recipes can be viewed by all users
- Each food item displays (
name
/measurement
/price
) - Every recipe contains several food items
- Each recipe displays (
name
/description
) & time for (preparation
/cooking
) - Recipes can be made public for all visitors or private
- Any user can delete his own recipes & food items
- Recipe owners can add their own food items as ingredients
- Users generates a shopping list with all unused foods items from their own recipes
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 & table schemas with
rails db:migrate
📌 Development:
- Run live server using
rails server
- Manipulate & process models data through
rails console
📌 Tests:
- Run all unit test with
bundle exec rspec -f d
📌 Mahammad:
📌 Derek:
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.
This project is MIT licensed.