VideoTube is a video streaming platform built with a focus on scalable and efficient backend architecture. The backend is powered by Express.js and MongoDB, providing a reliable and responsive environment for video content management, user authentication, and video streaming.
- User Authentication: Secure login and registration system.
- Video Uploading: Allows users to upload video content.
- Video Streaming: Stream video content with high performance.
- Commenting System: Users can engage by commenting on videos.
- Playlist Management: Users can create and manage their playlists.
- Backend Framework: Express.js
- Database: MongoDB
- API Testing: Postman
/src
├── config/ # Configuration files
├── controllers/ # Request handling logic
├── models/ # MongoDB models (Mongoose schemas)
├── routes/ # API routes
└── utils/ # Utility functions
-
Clone the repository:
git clone https://github.com/manav-01/backend.git
-
Navigate to the project directory:
cd backend -
Install dependencies:
npm install
-
Set up your
.envfile with the necessary environment variables (e.g., database connection string, API keys). -
Start the development server:
npm run dev
The API documentation is available on Postman, providing detailed information about all the available endpoints.
The MongoDB database model for VideoTube is outlined in the ER diagram below:
To run this project locally, ensure you have Node.js and MongoDB installed. Set up your .env file to include your MongoDB connection URI and other configuration parameters. Use the command npm run dev to start the server in development mode.
Contributions are welcome! If you'd like to improve the project, feel free to submit a pull request or open an issue on GitHub.
This project is licensed under the MIT License. See the LICENSE file for details.
- GitHub Repository: Backend Code
- API Documentation: Postman API Doc
- Database Model: DB Model