/nsngFoodRecipesCrudApp

CRUD App for no sugar no grain health food recipes

Primary LanguageHTML

nsngFoodRecipesCrudApp

CRUD App for No Sugars No Grains health food recipes created by fellow Yettsy Knapp General Assembly SEI6 Denver, CO

![wireframe image for NSNG recipes] Follow my project management steps on my public Trello site: https://trello.com/b/TGA9a6F5

MVP: Most basic version of the site:

  1. One usable model must reach Create route resources: a new recipe must be added to the catalog of recipes
  2. One usable model must reach Read resources: a recipe must be retrieved and display results
  3. One usable model must reach Update resources: information about a recipe must be changed
  4. One usable model must reach Delete resources: remove a recipe from the catalog

The live project can be viewed here: https://nsngcrudapp.herokuapp.com/.


Providing my user a location within the browser to join to have saved nsng recipes for when they are prepping for their next meal.

Site will provide a list of predetermined ketogenic friendly recipes that contain no sugars or grains.

Users will be able to have their recipes listed on their page as well as a way to edit their favorite recipes and save them for later use.


User Stories:

Users are welcome to:

  1. register as a user on the site
  2. log in to the site once registered
  3. add new recipes to the site(once logged in)
  4. edit pre-created recipes(once logged in)
  5. create a new recipe(once logged in)
  6. delete any recipes pre-created(once logged in)
  7. view a list of pre-created recipes from the database
  8. each recipe will have recipe: title, author, description, ingredients, and serving size
  9. see the ingredients for a selected recipe
  10. read the method for preparing the recipe

Model schema sample for user

const userSchema = mongoose.Schema({
username: { type: String, required: true, unique: true },
email: { type: String, required: true },
password: { type: String, required: true },
recipe: {
    type: mongoose.Schema.Types.ObjectId,
    ref: 'Recipe'
    },
});

const  recipeSchema = mongoose.Schema({
    title: { type: String, required: true},
    author: 'String',
    description: { type: String, required: true},
    category_type: 'String',
    ingredients: { type: String, required: true},
    photo: 'String',
    serving: 'String',
    user: { 
            type: mongoose.Schema.Types.ObjectId,
            ref: 'User',
            }
        },
    );

Requirements:

  1. Node: npm install dependencies listed in package.json
  2. MongoDB: database for modern applications
  3. express JS framework
  4. Mongoose: straight-forward, schema-based solution to model your application data

Technology Used:

  1. EJS - embedded JavaScript Templating
  2. Express: Fast, unopinionated, minimalist web framework for node. npm i express
  3. MVC, models, views, and controllers
  4. SQL tables and PG Promise
  5. JavaScript:
  6. Edamam API: using thrd party API key
  7. Isomorphic Fetch works with API
  8. Bcrypt: app uses encryption passwords. npm i bcrypt
  9. Use of express-session in middleware. npm i express-session
  10. Heroku: web hosting for my app

Installation Instructions:

  1. verify to create a .env and .gitignore folder

Stretch Goal/Phase Two:

  1. Setting up the user to have a favorite recipe section
  2. Styling to site
  3. Improving authentication
  4. intelligent formating for user to add their own comments for recipes they dislike

Passion for NSNG lifestyle

  1. This app has been a lot of fun to create as I highly respect the man that introduced me to NSNG (my husband CS Knapp).
  2. Our family finds the teachings of Vinnie Tortorich to be wonderful and brought us back to enjoying healthy food lifestyles again.
  3. To learn more about NSNG go to https://vinnietortorich.com/what-is-nsng/