https://github.com/codershubinc/myflix
https://github.com/codershubinc/myflix
Last synced: 9 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/codershubinc/myflix
- Owner: codershubinc
- Created: 2025-09-17T17:24:28.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-09-27T21:15:18.000Z (10 months ago)
- Last Synced: 2025-09-27T23:29:56.164Z (10 months ago)
- Language: TypeScript
- Size: 43.7 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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
```mermaid
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