Git Product home page Git Product logo

tobuya / kitchen-genie Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 0.0 10.2 MB

KitchenGenie is a recipe sharing web app that helps home cooks find inspiration and get organized in the kitchen. With a collection of recipes, an intuitive recipe editor, and a smart shopping list feature, KitchenGenie simplifies the recipe creation and meal planning process. Built with Ruby on Rails(RoR)

License: MIT License

Ruby 57.77% JavaScript 0.97% CSS 16.13% HTML 25.01% Shell 0.12%
devise postgresql rspec-rails ruby-on-rails

kitchen-genie's Introduction

Table of Contents

๐Ÿ‘จโ€๐Ÿณ Kitchen Genie - Recipe Share App

KitchenGenie is a recipe sharing web app that helps home cooks find inspiration and get organized in the kitchen. With a collection of recipes, an intuitive recipe editor, and a smart shopping list feature, KitchenGenie simplifies the recipe creation and meal planning process.

(back to top)

๐Ÿงฐ Tech Stack

  • Ruby on Rails
  • PostgreSQL
  • Devise
  • RSpec

(back to top)

โœจ Key Features

  • Create your own recipes easily
  • Share your recipes with other users
  • Browse through collection of public recipes
  • Generate shopping list based on the necessary ingredients
  • Sign up or log in to your account to access exclusive features

(back to top)

๐Ÿš€ Live Demo

kitchen-genie

๐Ÿ“˜ Getting Started

To run this project locally, you'll need to follow these steps.

๐Ÿ“‹ Prerequisites

Make sure you have the following installed on your machine:

๐Ÿ“‚ Setup

Clone this repository to your desired foler.

cd my-project
git clone [email protected]:tobuya/kitchen-genie.git .

๐Ÿ“ฅ Installation

Install the required gems with:

bundle install

๐Ÿ’พ Database

Create the databases and run migrations with:

rails db:create
rails db:migrate

To load the sample data, run:

rails db:seed

๐Ÿ’ป Usage

To run the development server, execute the following command:

rails server

๐Ÿงช Run tests

To run tests, run the following command:

rspec spec --format doc

(back to top)

๐Ÿ‘จโ€๐Ÿš€ Authors

๐Ÿ‘ค Thomas Obuya

๐Ÿ‘ค Hein Thant

(back to top)

๐ŸŽฏ Future Features

  • Create inventory system
  • Mobile responsive design
  • Search and filter recipes

(back to top)

๐Ÿค Contribution

Contributions, issues, and feature requests are welcome!

Feel free to check the issues page.

(back to top)

๐Ÿ’– Show Your Support

If you like this project, please consider giving it a โญ.

(back to top)

๐Ÿ™ Acknowledgements

We developed this app as a group project during the Microverse program. We would like to express our thanks to all the people who have helped us during the development of this app.

(back to top)

๐Ÿ“œ License

This project is MIT licensed.

(back to top)

kitchen-genie's People

Contributors

indiecodermm avatar tobuya avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

kitchen-genie's Issues

[4pts] Create Public Recipes Page

Requirements

  • Public recipe list:
    • Should display a list of all public recipes ordered by the newest as in the wireframe.
    • Should lead to recipe details.

Tasks

  • Define the #index action in PublicRecipesController
  • Select all recipes with public: true from the database
  • Create a view to display the public recipes

Wireframe

public_recipe_index

[3pts] Create Recipe List Page

Requirements

  • Recipes list:
    • Should display a list of recipes created by the logged-in user as in the wireframe.
    • Should lead to recipe details.
    • If the user is the owner of the recipe, should allow the user to delete it.

Tasks

  • Create routes for Recipe
  • Add actions in RecipesController
  • Create a view for recipe#index

Wireframe

recipe_index

[4pts] Create Recipe Detail Page

Requirements

  • Recipe details:
    • Should display a toggle button that allows for a recipe to be made public or private.
    • If the recipe is public or the user is the owner of the recipe, should display the recipe details as in the wireframe.
    • If the user is the owner of the recipe, should lead to the form that allows the user to add new food.

Tasks

  • Create a view to display a recipe
  • Create a toggle button
  • Create form to add new food

Wireframe

recipe_food

[3pts] Create Food List Page

Requirements

  • Food list (only for a group that has less than 3 members):
    • Should display a list of food added by the logged-in user as in the wireframe (display also quantity of a given food).
    • Should lead to a form that allows users to add new food.

Tasks

  • Create routes for Food
  • Add actions in FoodsController
  • Create a view for the food#index page

Wireframe

food_index

[4pts] Create General Shopping List Page (Group)

Requirements

  • General shopping list view (only for a group that has less than 3 members):
    • Should show the list of food that is missing for all recipes of the logged-in user (compare the list of food for all recipes with the general food list of that user).
    • Should count the total food items and total price of the missing food.

Tasks

  • Create a view for the shopping list
  • Display the list of missing food
  • Calculate the total items and price of missing food

Wireframe

general_shopping_list

[4pts] Set up project (Group)

  • Create a new Rails app
  • Setup Postgres database
  • Create models and schema
  • Create a homepage for the navigation menu
  • Install linters

ERD diagram

recipe_erd_2_members

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.