MajorProject Live-link
This is the repository for MajorProject
, a web application project that utilizes various modern web technologies and services.
This project is a web application built using Node.js and Express, featuring user authentication, file storage, and geolocation services. It integrates several third-party libraries and services to enhance functionality.
- Node.js: JavaScript runtime environment.
- Express: Web framework for Node.js.
- EJS: Embedded JavaScript templating.
- MongoDB: NoSQL database for data storage.
- Mongoose: Object Data Modeling (ODM) library for MongoDB and Node.js.
- Passport: Authentication middleware for Node.js.
- Connect-Flash: Flash message middleware for Express.
- Connect-Mongo: MongoDB session store for Express.
- Cookie-Parser: Middleware to parse cookies.
- Dotenv: Module to load environment variables from a
.env
file. - Multer: Middleware for handling
multipart/form-data
. - Cloudinary: Cloud service for image and video storage.
- Mapbox SDK: Geolocation services.
- Joi: Data validation library.
- Method-Override: Middleware to use HTTP verbs such as PUT or DELETE.
- Path: Utility module for working with file and directory paths.
-
Clone the repository:
git clone https://github.com/yourusername/majorproject.git cd majorproject
-
Install dependencies:
npm install
-
Start the application:
npm start
-
Open your browser and navigate to
http://localhost:3000
.
-
Environment Variables: Create a
.env
file in the root directory and add the following variables:MAP_TOKEN=your_mapbox_access_token CLOUDINARY_CLOUD_NAME=your_cloudinary_cloud_name CLOUDINARY_API_KEY=your_cloudinary_api_key CLOUDINARY_API_SECRET=your_cloudinary_api_secret ATLASDB_URL=your_mongodb_connection_string SECRET=your_session_secret
-
Node Version: Ensure you are using Node.js version specified in the
engines
field ofpackage.json
:"engines": { "node": "22.1.0" }
-
Start the application:
npm start
-
Test:
npm test