High Level Architecture Design - xStreamer

Stack

Backend

  • Languages / frameworks: NodeJS, NestJS framework, Typescript, Socket.IO

  • DB: MongoDB

  • Queue: Redis

  • Cache: Redis

  • Messaging service: Redis

  • Video processor: FFMPEG

  • Image processor: Sharp

Back office

  • Languages / frameworks: ReactJS, NodeJS, NextJS framework, Typescript

  • CSS / CSS framework: Ant design, CSS, SCSS

Front office

  • Languages / frameworks: ReactJS, NodeJS, NextJS framework, Typescript

  • CSS / CSS framework: CSS, SCSS, TailwindCSS

Web server

  • Nginx with http_auth_module enabled

 

Design

 

image-20240222-040527.png

Server REQ

  • Linux server (Ubuntu, CentOS)

  • RAM - at least 4GB of RAM, 2 CPU core. Recommend 8GB of RAM, dedicated CPU plan

  • Disk space - free 40GB

Software REQ

  • FFMPEG & FFPROBE

  • Nginx >= v1.3 with http_auth_module enabled

  • NodeJS LTS version >= 20.x

  • Yarn - Nodejs package manager (install global with npm install yarn -g command)

  • pm2 - daemon process manager (install global with npm install pm2 -g command) daemon process manager