/Stream-it

Backend (MERN) Video Streaming App

Primary LanguageJavaScript

Stream-it | MERN Video Streaming Service

Overview

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.

Project Details

  • Tools Used:

    • JavaScript
    • Node.js
    • Express.js
    • MongoDB
    • Mongoose
    • Cloudinary
  • Timeline:

    • January 2024 - Present

GitHub Repository

The project's source code is hosted on GitHub. You can find the repository here.

Features

  • 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.

Project Structure

The codebase is organized in a modular manner to enhance maintainability and production readiness. The structure includes:

  • Middlewares
  • Routers
  • Utilities
  • Controllers
  • Data Models

Documentation

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.

Getting Started

To set up the project locally, follow these steps:

  1. Clone the repository: git clone https://github.com/utkrishta24/Stream-it/
  2. Install dependencies: npm install
  3. Set up environment variables .env file as stated in .env.sample (copy and rename).
  4. To get your own access token and refresh token, refer to JSON Web Tokens.
  5. Setup MongoDB account and create a database with name as mentioned in constants.js file.
  6. Setup Cloudinary account for file uploading.
  7. Run the development server: npm run dev
  8. Test your backend with Postman or Thunder Client.

Contact

For any inquiries or issues, feel free to contact the project maintainer:

Utkrishta Sinha utkrishtasinha@gmail.com

Happy coding! 🚀