Skip to content

jlovejo2/Nutridish

Repository files navigation

Project_2 Nutridish

Create an app that allows users to search for recipes that are high in a specific nutrient. User will then have the ability to save the recipe to their login.

The link to PowerPoint presentation in Google Drive is shown below: https://drive.google.com/file/d/1ivr52fcFcY4PhnjaaGEi3WDeihRUgTZs/view?usp=sharing

The link to github is shown below: https://github.com/jlovejo2/Project_2.git

The link to the functional app is shown below: https://nutridish.herokuapp.com

Table of Contents

User Story

  • As a user I just found that I am in a need of a boost vitamins and minerals in my diet. However, I'd really prefer to get these from real food versus pounding a bunch of pills. So what I need is a place that I can look up recipes by the nutrients in them and then preferably have a way to save them to a list so I don't have to write these down due to my bad memory from lack of vitamins and minerals in my diet.

Version 1.0

How To Use

See the layout of the Login page of app below.

*alt text

Coding Languages Used

  • HTML
  • CSS
  • Javascript
  • Node.js
  • handlebars
  • SQL

NPMs Used:

  • NPM axios
  • NPM express
  • NPM sequelize
  • NPM mysql
  • NPM mysql2
  • NPM express
  • NPM express-sesion
  • NPM express-handlebars
  • NPM dotenv - used to read
  • NPM bcryptjs
  • NPM passport
  • NPM passport-local

CSS Framework:

  • Bootstrap

Structure of Code and Functions

  • config - is the folder that holds my generate database connection code
    • middleware folder
      • isAuthenticated.js - this is a middleware file that is used to authenticate user when they try to login. It is used with passport npm
    • config.js
    • passport.js
  • db folder - contains all the scripts for database seed and schema
    • nutrient_seed.sql
  • functions_for_seeding folder - this folder contains custome functions that were made in order to seed database from command line using sequelize
  • models - contains all the models that generate tables in our database
    • index.js - code file generated by sequelize to aid in the creating of models
    • nutrient.js
    • savedRecipes.js
    • user.js
  • public folder - contains all the code that is needed to for the browser to run the application
    • assets
    • images
    • js
    • stylesheets
  • seeders folder - contains seed files that can be used to seed database from command line
  • views - folder that contains all handlebars views
    • layouts folder - contains handlebar layouts for views to be rendered into
      • main.handlebars - this is the layout that all views get rendered into since it is the only one.
    • index.handlebars - used to create login page
    • recipes.handlebars - used to render recipes after search
    • search.handlebars - used to render begining user login page
    • signup.handlebars - used to render signup page
  • server.js - is the actual file that is run to create application and start server listening.

Known Issues With Code

  • One issue with this app is that since our search query does not have a lot of specific parameters in it the same recipe can come back in different searches. This will result in that recipe getting saved into the database with different ids and different searches. This is could cause misinformation if code is ever written to search for recipes by label.

About

This is an app that allows users to look up recipes based on several different criteria. The user can then save desired recipes for later referencing under their account.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors