CodersHub Inc
ProjectsContactHire Me
CodersHub Inc LogoCodersHub Inc

A collection of practical, open-source projects designed to solve real-world developer problems.

Quick Links

All ProjectsContactGitHub Organization

Resources

Source CodeReport IssuesAbout Creator

Stay Updated

Get notified about new projects and updates. No spam, ever.

By subscribing, you agree to our privacy policy.

© 2025 CodersHub Inc. All rights reserved.

Privacy PolicyTerms of Service
Made withbySwapnil Ingle
Back to Projects

MyFlix

Just a video streaming server .....

Languages Used
TypeScriptHTMLJavaScriptDockerfile
Technologies
TypeScript
View Source

wakatime

Video Streaming App

Overview

This project is a local video streaming server built with NestJS and MongoDB. It supports:

  • Movie upload (large files, metadata)
  • Video streaming with range requests
  • Movie metadata management
  • Directory listing
  • Device connection logging

Architecture Diagram

graph TD subgraph Client A[Browser/Frontend] end subgraph Server B[NestJS App] B1[MoviesController] B2[StreamingController] B3[UploadController] B4[Static File Server] B5[Config/Utils] end subgraph Database C[(MongoDB)] end A -- HTTP/REST/Multipart --> B B1 -- CRUD Movies --> C B2 -- Stream Video --> A B3 -- Upload File --> C B4 -- Serve HTML/JS/CSS --> A B5 -- Movie Metadata/Config --> C B -- Logging/Analytics --> B5

Key Features

  • Upload and stream large video files
  • Store and manage movie metadata
  • List movies from configured directories
  • Secure and extensible backend

Getting Started

  1. Install dependencies: bun install or npm install
  2. Start the server: bun run start or npm run start
  3. Access endpoints via browser or API client

Technologies Used

  • NestJS (TypeScript)
  • MongoDB (Mongoose)
  • Multer (file uploads)
  • Docker (optional)

Endpoints

  • GET /stream/movies/list — List movies
  • POST /stream/upload/ — Upload movie file
  • GET /stream/movies/stream — Stream movie file

Notes

  • For large uploads, chunked upload is recommended for production
  • All paths and configs can be customized
  • See source code for more details
Project Structure
  • .gitignore
  • .prettierrc
  • PROJECT_ROADMAP.md
  • README.md
  • bun.lock
  • device_connections.json
  • eslint.config.mjs
  • index.html
  • nest-cli.json
  • package-lock.json
  • package.json
  • postman_collection.json
  • tsconfig.build.json
  • tsconfig.json
  • Dockerfile/
  • LICENSE/
  • public/
    • test_upload.html
    • upload.html
    • view.html
  • src/
    • app.controller.spec.ts
    • app.controller.ts
    • app.module.ts
    • app.service.ts
    • index.module.ts
    • main.ts
    • movies/
      • movies.controller.ts
      • movies.module.ts
      • movies.service.ts
      • utils/
        • movies.schema.ts
        • moviesConf.ts
    • streaming/
      • streaming.controller.ts
      • streaming.module.ts
      • streaming.service.ts
    • utils/
      • createStream.ts
      • ffmpeg.ts
      • getAvailableAssets.ts
      • logDeviceConnection.ts
      • multer.ts
      • upload.ts
  • test/
    • app.e2e-spec.ts
    • jest-e2e.json
*.ts 21*.json 8*.html 4*.md 2*.gitignore 1*.lock 1*.mjs 1*.prettierrc 1 Total 39

Project Details

Repository
myFlix
Created At
September 17, 2025

( 3 months ago )

First Commit
September 16, 2025

( 3 months ago )


Tagline
Just a video streaming server .....
Languages
TypeScriptHTMLJavaScriptDockerfile
Technologies
TypeScript

File Counts

*.ts 21*.json 8*.html 4*.md 2*.gitignore 1*.lock 1*.mjs 1*.prettierrc 1
Total 39