This is the backend implementation of a YouTube-like video sharing platform, built using Node.js, Express, and MongoDB. It provides a robust and scalable API for handling user authentication, video uploads, media storage, and user/video management.
-
🔐 User Authentication
- Sign up / Login with hashed passwords using
bcrypt - JWT-based authentication for route protection
- Sign up / Login with hashed passwords using
-
📦 Video Upload & Storage
- File uploads via
multer - Media stored securely using Cloudinary
- File uploads via
-
🧾 Video Metadata Management
- Save and retrieve details like title, description, tags, etc.
-
👤 User Management
- User profile and video tracking
-
📂 RESTful APIs
- Clean and modular MVC architecture with well-defined routes
-
🛡️ Middleware
- Auth middleware, error handling, and request logging
- Node.js
- Express.js
- MongoDB + Mongoose
- JWT (JSON Web Tokens)
- Multer
- Cloudinary
- Nodemon (for development)
git clone https://github.com/Vedant224/video.git
cd video
npm installCreate a .env file in the root directory and add the following:
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
CLOUDINARY_CLOUD_NAME=your_cloudinary_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret✅ Make sure your .env file is listed in .gitignore.
npm start
or
npm run dev