NutriFoodS is an app for checking the nutritional values of meals and ingrediants and saving them to your profile. API provided by Nutritionix.
Search for foods by using natural language or enter the name of the food and then specify an amount: Get nutritional info about your searched food: Sign up or login to save foods in your profile: Edit your profile:
Enter meal/ingrediants and quantity directly into the search bar or select the food's name from the autocomplete and then enter the desired quantity to see a bubble with nutritional information. If you're registered and logged in, you can also save items and then view them in your profile.
- Sublime
- Git & Github
- HTML5 & CSS3
- JavaScript
- Node.js
- Express
- MongoDB
- Mongoose
- Bootstrap
- jquery
- EJS
- Auth/Bcrypt
CRUD | Route | Functionality |
---|---|---|
GET | /index | Renders app homepage |
POST | /search | Populates autocomplete list |
POST | /search/nutrients | Queries API for nutritional values |
POST | /search/item | Save item to database |
DELETE | /search/item/:id | Deletes item from database |
GET | /auth/login | Renders login page |
POST | /auth/login | Authenticate login credentials |
GET | /auth/signup | Renders signup page |
POST | /auth/signup | User creation route |
GET | /auth/logout | User logout route |
GET | /profile | Renders profile page |
GET | /profile/edit | Renders profile edit page |
PUT | /profile/edit | Updates user profile |
User Schema
Key | Type |
---|---|
name | String |
String | |
password | String |
height | Number |
weight | Number |
age | Number |
sex | String |
activityLevel | Number |
timezone | Number |
food | [foodSchema] |
Food Schema
Key | Type |
---|---|
food_name | String |
brand_name | String |
serving_qty | Number |
serving_unit | String |
serving_weight_grams | Number |
date | String |
time | String |
dateAndTime | Number |
is_raw_food | Boolean |
meal_type | Number |
food_group | Number |
ndb_no | Number |
calories | Number |
protein | Number |
total_fat | Number |
saturated_fat | Number |
total_carbs | Number |
fiber | Number |
sugars | Number |
cholesterol | Number |
potassium | Number |
sodium | Number |
photo | String |
- Created the backend routes.
- Hooked up external API for getting food info.
- Set up frontend functionality for interacting with info fetched from backend.
- Styled the app.
- Fixed bugs.
- Improve the design.
- Sort foods in profile by day, and show a total of nutrients per day.
- Based on user dietary goals, calculate daily intake and show user how on track they are.
- Edit saved foods.