Loading repository data…
Loading repository data…
ashifhassandev / repository
A simple recipe manager built using Node.js, Express, and MongoDB.
Recipe Nest is a Node.js web application built with Express.js and MongoDB that allows users to browse, search, and view recipes. Users can also add new categories and recipes, edit their profiles, and save their favorite recipes for easy access.
recipe-nest/
├── config/ # Configuration files
│ ├── dbConfig.js # MongoDB connection configuration
│ ├── emailConfig.js # Email service configuration
│ ├── multerConfig.js # File upload configuration
├── controllers/ # Controller logic for handling routes
│ ├── indexController.js # Homepage and general controllers
│ ├── otpController.js # OTP-related logic
│ ├── userController.js # User-related controllers
├── middlewares/ # Middleware for route handling
│ ├── jwtMiddleware.js # JWT authentication middleware
├── models/ # MongoDB models (schemas)
│ ├── categoryModel.js # Schema for recipe categories
│ ├── otpModel.js # Schema for OTP storage
│ ├── recipeModel.js # Schema for recipes
│ ├── userModel.js # Schema for users
├── public/ # Static assets (CSS, JS, images)
│ ├── css/ # CSS files for styling
│ ├── images/ # Static images (categories, recipes, etc.)
│ ├── js/ # JavaScript files for client-side logic
├── routes/ # API and view routes
│ ├── indexRoutes.js # General routes
│ ├── otpRoutes.js # OTP-related routes
│ ├── userRoutes.js # User-related routes
├── utils/ # Utility functions
│ ├── emailUtils.js # Email sending utilities
│ ├── httpStatusCode.js # HTTP status code constants
│ ├── messageUtils.js # Utility functions for messages
│ ├── otpUtils.js # Logic for OTP generation/validation
│ ├── userUtils.js # Utility functions for user operations
├── views/ # EJS templates for rendering pages
│ ├── layouts/ # Layout templates
│ ├── partials/ # Reusable components (header, footer, etc.)
│ ├── users/ # User-specific templates
│ ├── 404.ejs # 404 error page
│ ├── categories.ejs # Categories page
│ ├── contact.ejs # Contact page
│ ├── index.ejs # Homepage
│ ├── recipeDetails.ejs # Recipe details page
│ ├── recipes.ejs # Recipes page
│ ├── serverError.ejs # Server error page
├── .gitignore # Git ignored files and folders
├── app.js # Main application entry point
├── package.json # Project metadata and dependencies
├── package-lock.json # Lock file for dependencies
Clone the repository:
git clone https://github.com/your-username/recipe-nest.git
cd recipe-nest
Install dependencies:
npm install
Set up environment variables:
Create a .env file in the root directory and add the following:
PORT=3000
DB_URI=mongodb://localhost:27017/your_database_name
SESSION_SECRET=your_session_secret
SEND_EMAIL=your_email@example.com
SEND_EMAIL_PASS=your_email_password
Run the application:
npm start
Open your browser and go to:
http://localhost:3000
Browse Recipes
Search Recipes
Add Recipes and Categories
Favorite Recipes
This project is licensed under the MIT License.