VidTube is a scalable backend system for a social media platform that combines YouTube-style video sharing with Twitter-like microblogging features. The project is designed with clean architecture, modular APIs, and real-world backend best practices.
- Upload and manage videos
- Like and dislike videos
- Comment on videos
- Subscribe and unsubscribe to channels
- Fetch videos with engagement details
- Create short text posts (tweets)
- Like tweets
- Comment and reply to tweets
- Fetch user tweets
- User authentication and authorization
- Follow / subscription system
- Centralized constants and utilities
- Environment-based configuration
- Node.js
- Express.js
- MongoDB (Mongoose)
- RESTful APIs
- dotenv
- MVC Architecture
vidtube/
├── controllers/ # Business logic for each route
├── db/ # Database connection and configuration
├── middlewares/ # Authentication & error handling
├── models/ # Mongoose schemas
├── routes/ # API route definitions
├── utils/ # Utility / helper functions
│
├── .env # Environment variables
├── .env.sample # Sample environment configuration
├── app.js # Express app setup
├── constants.js # Centralized constants
├── index.js # Server entry point
- Upload video
- Get all videos
- Like / dislike video
- Comment on video
- Subscribe to channel
- Create tweet
- Like tweet
- Comment on tweet
- Fetch tweets by user
- Register & login user
- Profile management
- Follow / subscription management
git clone https://github.com/Rajat125tech/VidTube
cd vidtubenpm installPORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secretnpm run dev- MVC architecture for clear separation of concerns
- Modular controllers and routes for scalability
- Reusable middleware for authentication and error handling
- Centralized constants and utility functions
- Environment-based configuration for security
- Video streaming and playback optimization
- Recommendation and feed ranking system
- Hashtags and trending tweet features
- Notifications and real-time updates
- Cloud storage integration (AWS S3 / Cloudinary)
Rajat Srivastava
2nd-year AIML Student @ VIT Vellore
Backend Developer | Node.js | REST APIs