"Everything Keto" app will help users gain all the information they need about the Keto diet. Keto dieters usually have to thoroughly search through scattered information to gather just the basic guidelines. The app will teach the users about the keto diet and guide them through the process. Once successfully registered and logged in, users will be able to search for keto recipes based on a choosen ingredient. The app will be using Spoonacular API. It will display recipes nutriment information as well as their pictures. They will also be able to save their favorite recipes into their account, as well as access them every time they log in. All the more, the app will enable users to read post comments about diet routine, general ideas or even share their own recipes. It’s user-friendly, and accessible to everyone.
You can access a working prototype of the node app here: https://keto-diet-api.herokuapp.com/ and react app
This app is for logged-in user.
- As a visitor,
- I want to understand what I can do with this app (or sign up, or log in),
- So I can decide if I want to use it.
- As a returning register user
- I want to enter my password and username to use this app,
- So I can have access to my account.
- As a visitor
- I want to register to use this app
- So I can create a personal Everything Keto account.
- As a logged-in user,
- I want to be able to preview the content of the app,
- So i can decide what section I want to navigate to.
- As a logged-in user,
- I want to see guidelines about the keto diet,
- So that I can start searching and gathering information about the keto diet.
- As a logged-in user,
- I want to be able to find diversed keto recipes from the app,
- So that I can control and monitor my eating habits.
- As a logged-in user,
- I want to be able to search and post comments about the keto experience,
- So that I can share ideas with the other members.
- As a logged-in user,
- I want to be able to see my saved favorite recipes from my previous searches, as well as my previous submitted comments,
- So that I can keep track of my activity on the app.
Landing/Login Page |
---|
Home Page |
Forum Page |
My Posts Page |
My recipes Page |
Full website graybox wireframes |
---|
Full Page Screenshot |
---|
The app's functionality includes:
- User can sort entries by: meal (eg. dinner, dessert, snack, breakfast)
-
Users (database table)
- id
- email (email validation)
- password (at least one number, one lowercase and one uppercase letter at least eight characters that are letters, numbers or the underscore)
-
Forum
- id
- user_id
- forum_folder_id
- title
- description
-
Notes
- id
- name
- content
- modified
- id_folder
-
Recipes
- id
- user_id
- title
- image
- source
- Index.js (stateless)
- App.js (stateful)
- LandingPage.js (stateful) - gets the "prop name" and the "callback prop name" from the App.js
- Login.js (stateful) -
- Register.js (stateful) -
- HomePage.js (stateful) -
- Navbar.js (stateless) -
- About.js (stateless) -
- Recipes.js (stateless) -
- Forum.js (statelful) -
- AddPost.js (statelful) -
- AccountPage.js (stateful) -
- Navbar.js (stateless) -
- MyRecipesPage.js (stateful) -
- Navbar.js (stateless) -
- LandingPage.js (stateful) - gets the "prop name" and the "callback prop name" from the App.js
- App.js (stateful)
- The Spoonacular api address is https://developer.Spoonacular.com/Spoonacular-docs-recipe-api
- The endpoint url is https://api.Spoonacular.com/search
- Front-End: HTML5, CSS3, JavaScript ES6, React
- Back-End: Node.js, Express.js, Mocha, Chai, RESTful API Endpoints, Postgress
- Development Environment: Heroku
App is built to be usable on mobile devices, as well as responsive across mobile, tablet, laptop, and desktop screen resolutions.
This is v1.0 of the app, but future enhancements are expected to include:
- More pages in order to include more search results
- A feature that will provide US & Metric Liquid Volume Conversions
Use command line to navigate into the project folder and run the following in terminal
- To install the node project ===> npm install
- To migrate the database ===> npm run migrate -- 1
- To run Node server (on port 8000) ===> npm run dev
- To run tests ===> npm run test
- To install the react project ===> npm install
- To run react (on port 3000) ===> npm start
- To run tests ===> npm run test