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
- User Story
- Version 1.0
- How To Use
- Coding Languages Used
- NPMs Used
- CSS Framework
- Structure of Code and Functions
- Known Issues With Code
- 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.
See the layout of the Login page of app below.
- HTML
- CSS
- Javascript
- Node.js
- handlebars
- SQL
- 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
- Bootstrap
- 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
- middleware folder
- 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
- layouts folder - contains handlebar layouts for views to be rendered into
- server.js - is the actual file that is run to create application and start server listening.
- 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.
