Giter VIP home page Giter VIP logo

meal-folio's Introduction

Mealfolio (Temporary Name)

An online modifiable recipe repository and automated shopping list.

The Modern Recipe Problem

Once upon a time, recipes were kept in little cardboard boxes full of index cards and scraps of paper sorted with dividers. Managing your recipes was simple and centralized. Somewhere along the way that simblicity was lost. Now, we keep our recipes in books, scraps, magazine cutouts, Pinterest, bookmarks, and by calling our moms everytime we need to make pie dough.

Our app aims to solve this problem by keeping all recipes in a standardized format that can be imported from anywhere. Once in the repository, you own the recipe and can tweak and modify it as you wish. With a standardized format, it become easy to search and filter your recipes and automatically generate shopping lists.

Core Features

  1. Easy to import standardized recipe format.
  2. Convientent categorization and searching of recipes.
  3. Automated shopping list formed around selected recipes.

meal-folio's People

Contributors

daleran avatar

meal-folio's Issues

Write Recipe API Specs [4]

Write the specs for the API

  • GET /recipes
  • GET /recipes/id
  • POST/recipes
  • PATCH /recipes/id
  • DELETE /recipes/id

Tag a Recipe

  1. As a user
  2. I want to tag recipes
  3. so that I can filter, search, and share custom recipe collections.

Create a recipe [1]

POST a new recipe to the database using the /recipes endpoint.

Check if the recipe exists
If it doesn't send a recipe not found code
Parse the JSON into mongoose
Validate updated recipe
Send error if it doens't work
Add the recipe in the database
Send the recipe JSON object back

Create a Recipe

Epic Story

  1. As a user
  2. I want to create a recipe
  3. so that I can store my own recipes online.

POST Basic Recipe [1]

Upon submit, the client can send the POST request to the server with basic recipe data.

Create basic routes [1]

Create a basic route that responds to the various endpoints with a confirmation code.

  • Root Message
  • /recipes get
  • /recipes post
  • /recipes/id get
  • /recipes/id put
  • /recipes/id delete

Delete a recipe [1]

DELETE request sent to recipes/:id

Ensure the recipe exists
Delete the recipe
Send the response
Catch and respond with any errors.

Filter Recipes

  1. As a user
  2. I want to filter recipes by tag, name, or ingredient
  3. so that I can find and share recipes easily.
  • Tag
  • Name
  • Cooking Time
  • Ingredient
  • Source

Setup Local MongoDB [2]

Setup a local instance of MongoDB and integrate it within the app.

  • Install MongoDB
  • Setup connection to local db

Test:
Node.JS tests a database connection.

Create Shopping List

  1. As a user
  2. I want to create a shopping list
  3. so that I can manage my recipes and shopping list in one place.

Read all recipes [1]

GET request to the /recipes endpont

Receive the get request
Query the database
Return the JSON objects
Catch any errors and return

Basic Recipe UI [2]

A simple interface that allows for a title, single ingredient, and a single step.

  • Title Textbox
  • Ingredients Text Box
  • Direction Text Box
  • Submit Button

Enter Basic Recipe [2]

  1. As a user
  2. I want to enter a recipe title, ingredient, and step
  3. so that it is easy create and modify recipes.

Acceptance Criteria

  1. I click on the title text box and enter a title.
  2. I click on the ingredient text box and enter an ingredient.
  3. I click on the directions text box and enter a direction.
  4. I click submit and a JSON format of the recipe is presented to me.

Find a new name [2]

Find a new name. Mealfolio sucks.

  • Make list
  • Check for free domain
  • Run by Anna
  • Rename repository
  • Rename package files
  • Rename postman workspace
  • Rename toggle project

Refactor server side code [1]

Reorganize server side code into

  • Design System Architecture
  • Design Routing Scheme
  • Create new folder and file structure
  • Move code into relevant sections

View Recipes [2]

As a user
I want to view all my recipes
So I can use them all in one place.

Acceptance Criteria

  1. Go to Main Page
  2. The main page shows a list of all recipes.

Access a Recipe API [4]

As a developer
I want to access recipes through a REST API
so that I can design any front end to consume recipe data.

  • Add recipes
  • Edit recipes
  • Remove recipes
  • Get all recipes

Update a recipe [1]

PUT request sent to /recipes/:id

Check if the recipe exists
If it doesn't send a recipe not found code
Parse the JSON into mongoose
Validate updated recipe
Send error if it doens't work
Update the recipe in the database
Send the updated recipe JSON object back

Read a recipe by id [1]

GET request sent to /recipes/:id

Check if the recipe id exists
If not, send a not found response
Parse the object into JSON
Send object in response
If error, respond with code and message

Add Recipes to A Meal Plan

  1. As ab
  2. I want to add recipes to my weekly meal plan
  3. so that I can keep track of what I am making this week.

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.