Giter VIP home page Giter VIP logo

recipe-app's Introduction

๐Ÿ“— Table of Contents

๐Ÿ“– Recipe app

Welcome to our recipe app! This app is designed to help you find, save, and organize your favorite recipes. With a variety of features such as a recipe list, a shopping list, and the ability to add your own recipes, our app is the perfect tool for any home cook. Whether you're a beginner or a seasoned pro in the kitchen, we hope you'll find our app helpful and enjoyable to use.

๐Ÿ›  Built With

Tech Stack

  • Ruby on rails
  • PostgreSQL
  • Tailwind
  • Css
Database

Key Features

  • Recipe list: Browse a list of recipes, search for specific recipes, and view detailed information about each recipe, including ingredients and instructions
  • Shopping list: Add ingredients from recipes to a shopping list and mark items as purchased

(back to top)

๐Ÿš€ Live Demo

(back to top)

๐Ÿ’ป Getting Started

In order to start with this project do as follows :

To get a local copy up and running, follow these steps.

Prerequisites

In order to run this project you need:

gem install rails

Setup

Clone this repository to your desired folder:

git clone https://github.com/barakadanny/Recipe-app.git

Install

Install this project with:

bundle install

Usage

rails s / or /bin/dev

Run Linters

To run tests, run the following command:

rubocop

OR

rubocop -a

it will automatically correct the errors

(back to top)

๐Ÿ‘ฅ Authors

๐Ÿ‘จโ€๐Ÿ’ป Baraka Danny

๐Ÿ‘จโ€๐Ÿ’ป Muskan

(back to top)

๐Ÿ”ญ Future Features

  • Personal recipes: Add your own recipes to the app and organize them into categories
  • Recipe ratings: Rate and review recipes to help other users discover the best recipes
  • Recipe recommendations: Get personalized recipe recommendations based on your tastes and preferences
  • Meal planning: Plan your meals for the week and generate a shopping list based on your plan

(back to top)

๐Ÿค Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

(back to top)

โญ๏ธ Show your support

Write a message to encourage readers to support your project

If you like this project then please give a โญ๏ธ and also share your feedback using github_issues.

(back to top)

๐Ÿ™ Acknowledgments

โค๏ธ RoR Documentation

(back to top)

๐Ÿ“ License

This project is MIT licensed.

(back to top)

recipe-app's People

Contributors

barakadanny avatar muskan2532150 avatar

Stargazers

 avatar

Watchers

 avatar

recipe-app's Issues

[2pts] Add public details

  • Modify the recipe detail view to display the recipe details if the recipe is public or the user is the owner
  • If the user is the owner of the recipe, provide a link or button in the recipe detail view that leads to a form for adding new food to the recipe
  • In the controller, retrieve the recipe and check if the user is the owner or if the recipe is public before rendering the recipe detail view
  • Test the recipe detail view to ensure that it is only displayed for public recipes or the owner and that the link or button to add new food is only displayed for the owner

[1pts] Create a navigation menu

  • Determine the links that should be included in the navigation menu
  • Create a partial for the navigation and include/render it In the layout file
  • Use the link_to/button_to helper to create a link for each item in the navigation menu
  • Test the navigation menu to ensure that it is displayed correctly and the links work as expected

[1pts] Shopping list

  • Create the views
  • Design the database schema and create a migration to add the necessary tables or columns to store the shopping list information
  • Create controllers and models
  • Write any necessary tests to ensure that the shopping list feature is working as expected
  • Test the shopping list feature to ensure that it is working as intended

[2pts] Add a public recipe list.

This should lead to the recipe details route and display a list of all public recipes ordered by the newest as in the wireframe.

  • Create Views
  • Create Controllers and model
  • Test

[1.5pts] Add a food list to display list of food and their quantity

  • create food lists view
  • Create a model and migration to store the list of food and their quantities
  • Create a controller and action to retrieve the list of food and their quantities from the database and pass it to the view
  • In the view, display the list of food and their quantities using an appropriate HTML element
  • Test the food list to ensure that it is displayed correctly and displays the correct information

[0.5pts] Add login and signup page using Devise

  • Set up Devise in the Rails app
  • Create the necessary routes for the login and signup pages
  • Generate the controllers and views for the login and signup pages
  • Test the login and signup functionality to ensure that users can successfully create an account, log in, and log out

[2pts] Add a recipe list.

This should lead to the recipe details route and only the owner can delete a recipe

  • Create a model and migration to store the recipe information
  • Create a controller and action to retrieve the list of recipes from the database and pass it to the view
  • In the view, display the list of recipes using an appropriate HTML element
  • Test the recipe list to ensure that it is displayed correctly and displays the correct information

[0.7pts] Solve N +1 queries problems.

  • Identify N+1 queries in the application using tools such as the bullet gem
  • Test and implement different solutions to eliminate N+1 queries, such as:
    - Eager loading with includes
    - Manual preloading with preload, eager_load, or joins
    - Database-level optimization with indexes and proper database design
    - Query optimization
  • Test the application to ensure that N+1 queries have been successfully eliminated

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.