https://github.com/mahammad-mostafa/food-recipes
This is the group capstone project in the fifth module of the Microverse program. It is a food recipes app built using Ruby on Rails.
https://github.com/mahammad-mostafa/food-recipes
cancancan devise integration-tests microverse microverse-projects microverse-rails-capstone microverse-students mvc-architecture object-oriented-programming-project postgresql-database rails-application rspec-rails ruby ruby-on-rails unit-tests
Last synced: 7 months ago
JSON representation
This is the group capstone project in the fifth module of the Microverse program. It is a food recipes app built using Ruby on Rails.
- Host: GitHub
- URL: https://github.com/mahammad-mostafa/food-recipes
- Owner: mahammad-mostafa
- License: mit
- Created: 2023-12-18T17:01:51.000Z (almost 2 years ago)
- Default Branch: development
- Last Pushed: 2024-01-15T21:07:34.000Z (almost 2 years ago)
- Last Synced: 2025-02-14T07:36:44.871Z (9 months ago)
- Topics: cancancan, devise, integration-tests, microverse, microverse-projects, microverse-rails-capstone, microverse-students, mvc-architecture, object-oriented-programming-project, postgresql-database, rails-application, rspec-rails, ruby, ruby-on-rails, unit-tests
- Language: Ruby
- Homepage: https://food-recipes-c54u.onrender.com/
- Size: 183 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# 🏷️ Food Recipes
This is the group capstone project of the fifth module in the **Microverse** program.
Check the below contents for further details about this project.
# 📗 Contents
- [Description](#description)
- [Instructions](#instructions)
- [Authors](#authors)
- [Future](#future)
- [Contributions](#contributions)
- [Support](#support)
- [Acknowledgements](#acknowledgements)
- [License](#license)
# 📖 Description
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](https://food-recipes-c54u.onrender.com)
📌 **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
# 🛠️ 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 & 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
```
# 👥 Authors
📌 **Mahammad:**
- [GitHub](https://github.com/mahammad-mostafa)
- [Twitter](https://twitter.com/mahammad_mostfa)
- [LinkedIn](https://linkedin.com/in/mahammad-mostafa)
📌 **Derek:**
- [GitHub](https://github.com/obibaadoma)
- [LinkedIn](https://linkedin.com/in/derek-akrasi-konadu)
# 🔭 Future
Some additional features I may implement in the project:
- [ ] Integrate `React` framework in frontend
- [ ] Implement (dark / light) theme switch
# 🤝🏻 Contributions
Wish to contribute to this project?
Contributions, issues, and feature requests are more than welcome!
Feel free to check the [issues](../../issues) page too.
# ⭐️ Support
Like this project? Show your support by starring!
# 🙏🏻 Acknowledgements
I thank everyone at **Microverse** for guiding me through this project.
# 📝 License
This project is [MIT](LICENSE.md) licensed.