This project is the backend of a video-sharing platform similar to YouTube. It is built using Node.js, Express, and MongoDB. The backend handles user authentication, video uploads, and media management while ensuring security and scalability.
- ✅ User authentication with JWT
- ✅ Video uploads with Cloudinary
- ✅ Secure API endpoints with CORS and cookie handling
- ✅ Efficient data handling with pagination and aggregation
- ✅ Environment-based configuration using dotenv
- ✅ Error handling and request parsing
- ✅ Prettier for code formatting and maintainability
- Node.js
- Express.js
- MongoDB & Mongoose
- Cloudinary (for media storage)
- JWT (jsonwebtoken) (for authentication)
- Multer (for file uploads)
- bcrypt (for password hashing)
- dotenv (for environment variables)
- Model Link:- https://app.eraser.io/#note-title-editor
- Clone the repository:
git clone <your-repo-url>
- Install dependencies:
npm install
- Create a
.envfile with your environment variables:PORT=5000 MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret CLOUDINARY_NAME=your_cloud_name CLOUDINARY_API_KEY=your_api_key CLOUDINARY_API_SECRET=your_api_secret
- Run the server:
npm run dev
- Register and login users
- Upload and manage videos
- Secure API endpoints using tokens
- View paginated video lists
A fully functional, secure, and scalable backend that powers a video-sharing platform with efficient user and media management.
This project is licensed under the ISC License.