Zemen-Live-stream-

Zemen Logo

Zemen — Full-Stack Live Streaming Platform

Full-scale live streaming + VOD platform: Express + PostgreSQL + Socket.IO backend, React + Vite frontend.

What’s included

Backend setup

cd backend
npm install
cp .env.example .env   # fill in DATABASE_URL and JWT_SECRET
psql $DATABASE_URL -f migrations/001_schema.sql
npm run dev             # runs on http://localhost:4000

Frontend setup

cd frontend
npm install
cp .env.example .env   # point VITE_API_URL / VITE_SOCKET_URL at your backend
npm run dev              # runs on http://localhost:5173

Note on testing: I built this in a sandboxed environment with no network access, so I could not run npm install/npm run build myself to confirm it compiles. The code follows standard Vite + React 18 + react-router-dom v6 patterns — run the commands above locally and let me know if you hit any errors and I’ll fix them.

Important: this schema requires 18+ signup and has moderation built in

Still needed (real infrastructure, not code I can run here)

  1. Ingest/transcoding: pick one —
    • Managed (fastest to launch): Mux, Cloudflare Stream, or AWS IVS — handles RTMP ingest, transcoding, HLS delivery, and often has built-in moderation hooks.
    • Self-hosted: nginx-rtmp or SRS + FFmpeg workers, fronted by a CDN.
  2. CDN for video delivery (CloudFront, Cloudflare).
  3. Object storage for VOD (S3-compatible) referenced by videos.playback_url.
  4. Automated content moderation API wired into content_flags.

Next phases

Tell me which phase to build next.

About the Developer

Built by Agegnehu Shibiru — a self-taught developer from Ethiopia, building full-stack applications entirely from a mobile phone using AI-assisted development tools.