MealPlanner is a comprehensive solution designed to help users plan their meals and manage their nutritional intake effectively. It consists of two main components:
- Backend: Built with Node.js, Express, and MongoDB.
- Frontend: Built with React and Bootstrap.
- User authentication and authorization
- Meal planning and scheduling
- Nutritional information tracking
- User-friendly interface with dark mode support
- Node.js (version 14.x or higher)
- npm (version 6.x or higher)
- MongoDB (version 4.x or higher)
-
Clone the repository:
git clone https://github.com/aman13nagar/mealplanner.git cd mealplanner/backend
-
Install backend dependencies:
npm install
-
Create a
.env
file in the backend directory and add your environment variables:MONGODB_URI=your-mongodb-uri JWT_SECRET=your-jwt-secret
-
Start the backend server:
npm start
-
Navigate to the frontend directory:
cd ../frontend
-
Install frontend dependencies:
npm install
-
Start the frontend development server:
npm start
- Register an account or log in if you already have one.
- Start planning your meals by adding them to your schedule.
- Track your nutritional intake through the user-friendly dashboard.
- POST
/api/auth/register
: Register an account. - POST
/api/auth/login
: Log in if you already have an account - GET
/api/auth/loadUser
: Get a User. - GET
/api/meal-plans/
: Retrieve meal plans - POST
/api/meal-plans/
: Create a meal plan. - PUT
/api/meal-plans/
: Update a meal plan. - DELETE
/api/meal-plans/
: Delete a meal plan. - GET
/api/meal-plans/daily-meals/
: Get daily meals. - POST
/api/meal-plans/daily-meals/
: Create your daily meal plan. - PUT
/api/meal-plans/daily-meals/:id
: Update your daily meal plan for a specific date. - POST
/api/meal-plans/nutrition-info/
: Get nutrition information for your created Meal plan. - GET
/api/meal-plans/generate/
: Generate a meal plan. - GET
/api/meal-plans/weekly/
: Get weekly meal plans. - POST
/api/password/forgot-password/
: Get a email for reseting your password. - POST
/api/password/reset-password/
: Reset your password via the link sent to your email. - GET
/api/recipe/
: Get a recipe. - GET
/api/recipe/:id
: Get a recipe by Id. - POST
/api/recipe/:id
: Add a recipe. - GET
/api/recipes/
: Get all recipes. - POST
/api/recipes/
: Create a recipe. - PUT
/api/recipes/
: Update a recipe. - DELETE
/api/recipes/
: Delete a recipe. - POST
/api/nutritions/:recipeId/
: Save nutrition data for a recipe. - GET
/api/nutritions/:recipeId/
: Get nutrition data for a recipe. - POST
/api/hydration/
: Add amount of water. - GET
/api/hydration/:userId/
: Get hydration information for a user by userid. - DELETE
/api/hydration/:id/
: Delete hydration information by id. - POST
/api/weight/
: Add your weight. - GET
/api/weight/:userId/
: Get weightData for a user by userid. - DELETE
/api/weight/:id/
: Delete weightData by id. - POST
/api/exercise/
: Add exercise information. - GET
/api/exercise/:userId/
: Get exercise information for a user by userid. - DELETE
/api/exercise/:id/
: Delete exercise information by id.
If you would like to contribute, please fork the repository and use a feature branch. Pull requests are welcome.
- Fork the repository
- Create a feature branch (
git checkout -b feature-branch
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin feature-branch
) - Create a new Pull Request
- Name: aman13nagar
- Email: aman13nagar@gmail.com
Developed by [Aman Nagar], a fourth-year Computer Science student at NIT Rourkela.