A comprehensive nutrition and diet planning platform designed to help users achieve their health goals through intelligent meal planning, real-time nutrition tracking, and personalized dietary recommendations.
NourishNest is a full-stack responsive web application that combines modern UI/UX with powerful backend functionality. It provides users with comprehensive nutrition data, recipe suggestions, meal planning tools, and progress tracking features—all wrapped in an intuitive interface designed for accessibility and ease of use.
- Interactive & Responsive Design - Seamless experience across all devices (mobile, tablet, desktop)
- Advanced Recipe Database - Browse recipes with detailed nutrition information and cooking instructions
- Nutrition Index & Analysis - Real-time macronutrient and micronutrient tracking
- BMI Calculator - Health metrics calculation with personalized recommendations
- Diet Management - Track calories and plan diets based on health goals
- Admin Dashboard - Comprehensive admin panel for content management
- Secure Authentication - User authentication and authorization with session management
- User Feedback System - Collect and manage user feedback
- Real-time API Integration - Meal API integration with Axios for dynamic data fetching
- Progress Tracking - Visual progress tracking for diet and nutrition goals
Frontend:
- HTML5 / CSS3 / JavaScript
- EJS (Embedded JavaScript Templating)
- Responsive Design (Mobile-first approach)
Backend:
- Node.js with Express.js
- MongoDB (NoSQL Database)
- Axios (HTTP Client for API Integration)
Tools & Services:
- npm (Package Management)
- Vercel (Deployment)
- Third-party Meals API
NourishNest/
├── src/ # Source code (backend logic)
├── views/ # EJS templates (frontend pages)
├── public/ # Static assets (CSS, images)
├── Screenshots/ # Project screenshots
├── package.json # Dependencies and scripts
├── index.js # Entry point
└── README.md # Documentation
- Node.js (v14 or higher)
- npm
- MongoDB account and connection string
- Clone the repository
git clone https://github.com/HimasagarU/NourishNest.git
cd NourishNest- Install dependencies
npm install- Configure environment variables
# Create a .env file in the root directory
# Add your MongoDB connection string:
MONGODB_URI=your_mongodb_connection_string
PORT=3000-
Update database configuration Edit
index.jsand add your MongoDB URL to the connection string. -
Start the development server
npm run devThe application will be available at http://localhost:3000
- Comprehensive nutritional information for recipes
- Macronutrient breakdown (proteins, carbs, fats)
- Micronutrient analysis (vitamins, minerals)
- Daily intake recommendations
- Browse extensive recipe database
- Filter recipes by cuisine, diet type, and nutrition
- Create custom meal plans
- Track daily calories and nutrients
- Secure user authentication
- Personalized user profiles
- Save favorite recipes and meal plans
- Track progress over time
- Manage recipes and nutritional data
- User management and analytics
- Feedback review and management
- Content administration
Main interface with user statistics and quick access to features.
Search and filter recipes with detailed nutrition information.
Create and manage personalized meal plans.
Track daily intake and view detailed nutritional analysis.
Manage content and user data.
The application uses the Meals API for dynamic recipe data:
- Endpoint:
https://www.themealdb.com/api/json/v1/1/search.php?s={meal} - Provides detailed recipe information including ingredients and instructions
- Register and create a profile
- Browse recipes and add to favorites
- Create a meal plan
- Track daily nutrition intake
- Monitor progress and adjust diet
- Log in to admin panel
- Add/edit/delete recipes
- Manage diet categories
- Review user feedback
- View platform analytics
- Clean UI - Minimal, intuitive design focused on usability
- Responsive Layout - Optimized for all screen sizes
- Accessibility - WCAG compliant with keyboard navigation
- Performance - Optimized loading times and smooth interactions
- User-Centric - Designed based on user feedback and testing