Stream-it is a personal project aimed at creating a scalable MERN (MongoDB, Express.js, React.js, Node.js) based video streaming service. The project is designed to handle media efficiently while ensuring seamless user authentication, video uploading, and streaming functionalities. This README file provides essential information for developers interested in exploring or contributing to the project.
-
Tools Used:
- JavaScript
- Node.js
- Express.js
- MongoDB
- Mongoose
- Cloudinary
-
Timeline:
- January 2024 - Present
The project's source code is hosted on GitHub. You can find the repository here.
-
Scalable Backend:
- Architected a scalable backend for efficient media handling.
-
User Authentication:
- Implemented seamless user authentication to ensure secure access.
-
Video Uploading:
- Developed functionality for users to upload videos to the platform.
-
Video Streaming:
- Implemented video streaming capabilities for a smooth user experience.
The codebase is organized in a modular manner to enhance maintainability and production readiness. The structure includes:
- Middlewares
- Routers
- Utilities
- Controllers
- Data Models
Concise and comprehensive documentation is provided within the project. Developers can refer to the documentation for immediate use and understanding of the codebase. To understand data-models and flow refer here.
To set up the project locally, follow these steps:
- Clone the repository:
git clone https://github.com/utkrishta24/Stream-it/
- Install dependencies:
npm install
- Set up environment variables .env file as stated in .env.sample (copy and rename).
- To get your own access token and refresh token, refer to JSON Web Tokens.
- Setup MongoDB account and create a database with name as mentioned in constants.js file.
- Setup Cloudinary account for file uploading.
- Run the development server:
npm run dev
- Test your backend with Postman or Thunder Client.
For any inquiries or issues, feel free to contact the project maintainer:
Utkrishta Sinha utkrishtasinha@gmail.com
Happy coding! 🚀