https://github.com/rez0an/nutrinavigator
NutriNavigator is not just a nutritional recommendation system; it's also an e-commerce platform offering organic food products. Now working to dockerize it then host on azure or aws .
https://github.com/rez0an/nutrinavigator
expressjs food-recommendations forget-password jwt-authentication machine-learning mern-project mongodb nodejs nodemailer-smtp-transport random-forest-classifier reactjs redux redux-thunk reset-password-email role-based-authorization stripe-payment-gateway
Last synced: 3 months ago
JSON representation
NutriNavigator is not just a nutritional recommendation system; it's also an e-commerce platform offering organic food products. Now working to dockerize it then host on azure or aws .
- Host: GitHub
- URL: https://github.com/rez0an/nutrinavigator
- Owner: REZ0AN
- Created: 2024-04-15T18:42:41.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-15T18:45:21.000Z (about 2 years ago)
- Last Synced: 2026-01-03T14:22:08.873Z (6 months ago)
- Topics: expressjs, food-recommendations, forget-password, jwt-authentication, machine-learning, mern-project, mongodb, nodejs, nodemailer-smtp-transport, random-forest-classifier, reactjs, redux, redux-thunk, reset-password-email, role-based-authorization, stripe-payment-gateway
- Language: JavaScript
- Homepage:
- Size: 21.7 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# NutriNavigator
NutriNavigator is a project aimed at providing nutritional recommendations by taking users `age` `height` `weight` `disease` they have, with full `e-commerce` features . This `README` will guide you through setting up the project locally.
## Setting Up Environment Variables
Developers must create a `config.env` file inside `/backend/config/` directory with the following environment variables:
```
PORT=your_preferred_port
MONGODB_URI="mongodb_database_url"
SALT=length_of_generated_salt
JWT_SECRET="random_string"
JWT_EXPIRE="jwt_token_expired_day"
COOKIE_EXPIRE=cookie_expire_day
SMTP_SERVICE="gmail"
SMTP_PASS="a_random_string_given_by_gmail"
SMTP_MAIL="your_mail_in_which_you_have_app_permission"
STRIPE_API_KEY=api_key_goes_here
STRIPE_SECRET_KEY=secret_key_goes_here
SMTP_HOST="smtp.gmail.com"
SMTP_PORT=465
CLOUDINARY_NAME=cloudinary_given_name
CLOUDINARY_API=your_identity_key
CLOUDINARY_API_SECRET=secret_key_goes_here
FRONT_END_URI=localhost:3000
```
## Installing Packages
### Node Server
Navigate to the root folder of `NutriNavigator` in your terminal and execute:
```
npm i
```
### ReactJS App
Navigate to `NutriNavigator/frontend` folder and execute:
```
npm i
```
Ignore any warnings during installation.
### Flask Server
Navigate to `/NutriNavigator/mlServer` folder in your terminal.
Create a folder using the command:
```
mkdir models
```
Then install the required Python packages listed in `requirements.txt`:
```
pip install -r requirements.txt
```
## Recommender System Model Build
After installing the required packages. Navigate to `/NutriNavigator/mlServer` folder in terminal.
### Create folder called `models`
Inside the `/NutriNavigator/mlServer` folder create a folder `models` to store the trained model on our `food_recommendation` dataset.
execute :
```
mkdir models
```
After creating the folder `models` then run the file `food_recommender.py` by below command :
### for windows
```
python food_recommender.py
```
### for linux (with installed python version 3.X)
```
python3 food_recommender.py
```
After running the `food_recommender.py` check in the created `models` folder, a file may be created called `model_pickle`. Just check this out.
## Running the Servers
After doing previous steps successfully, we are going to run our `NutriNavigator` web application.
### Node Server
Navigate to the root folder and execute:
```
npm run dev
```
### Python Flask Server
Navigate to `/NutriNavigator/mlServer` folder and execute:
#### For Windows:
```
python server.py
```
#### for linux (with installed python version 3.X)
```
python3 server.py
```
### Running the ReactJS App
Navigate to `/NutriNavigator/frontend` folder and execute:
```
npm start
```
## Accessing NutriNavigator
After successfully running the servers, you can access the NutriNavigator web application at `http://localhost:"your_given_port"`.