- Framework: Node.js
- Database: MongoDB
- Express: Web application framework for Node.js
- EJS: Templating engine for rendering views
- method-override: Middleware to support HTTP method overrides
- EJS Mate: Layouts and partials for EJS
- Joi: Schema-based validation for data
- connect-flash: Flash messaging for user notifications
- passport: Authentication middleware
- multer: Middleware for handling file uploads
- cloudinary: Cloud storage service for image management
- MapBox: Interactive maps integration
- connect-mongo: MongoDB session store
- Atlas: MongoDB cloud database
Explore the live demo of the website here.
/listings
: View all listings/login
: User login page/signup
: User signup page/admin/login
: Admin login page/admin/signup
: Admin signup page
- Clone the repository:
git clone <repository-url>
- Navigate to your project directory:
cd <project-directory>
- Install dependencies:
npm install
- Create a
.env
file in the root directory and add your environment variables:CLOUD_NAME=<your-cloudinary-cloud-name> // KEY CLOUD_API_KEY=<your-cloudinary-key> // KEY CLOULD_API_SECRET=<your-cloudinary-secret> // KEY MAP_TOKEN=<your-mapbox-token> // KEY ADMIN_KEY=<admin-key> //Any Secrect Text ATLAS_DB_URL=<your-mongodb-atlas-url> // KEY SESSION_SCRECT=<your-session-secret> //Any Secrect Text
- OR you can go with Previous version
- Start the server:
node app.js
- Open your web browser and visit:
http://localhost:8080/listings
Feel free to reach out with any questions or issues you encounter while setting up the project. Enjoy exploring Trek-To-DO Listing Website!