full stack

FrameFlow Media Platform

Full-stack media library platform with range-request streaming, automated metadata extraction, and dynamic thumbnail generation.
FrameFlow logo
RoleFull-Stack Architect & Developer
Timeline2026
Categoryfull stack
Stack8 technologies
NestJSNext.jsTypeScriptPostgreSQLPrismaTailwind CSSFFmpegDocker
Overview

Project Overview

FrameFlow is an end-to-end video streaming and library management platform. It combines a high-performance NestJS 12 backend (using PostgreSQL, Prisma 7, and FFmpeg) with a Next.js 16 App Router client built using Atomic Design principles and Tailwind CSS v4.


Capabilities

Key Features

  • Range-Request Video Streaming

    Supports high-efficiency video streaming with HTTP 206 Range requests, ETag caching, and Last-Modified header validation.

  • Automated Metadata & FFmpeg Engine

    Scans local storage directories, probes video duration, and dynamically extracts or caches thumbnails at custom seek times using FFmpeg.

  • RBAC & Interactive API Docs

    JWT-based security flow with role-based access control separating admin management endpoints from public player routes, documented via Swagger/OpenAPI.

  • Atomic Frontend Architecture

    Client-rendered Next.js 16 application structured around Atomic Design with custom dark-themed Tailwind CSS v4 components and typed REST clients.


Engineering

Technical Architecture

  1. NestJS 12 modular architecture with explicit Controller-Service-DTO separation and global exception filtering.
  2. PostgreSQL 16 relational database integration via Prisma 7 ORM using @prisma/adapter-pg driver adapters.
  3. Next.js 16 App Router frontend using React 19, zero-SSR client fetching, and strict TypeScript types.
  4. Containerized environment managed via Docker Compose running API services alongside isolated PostgreSQL instances.

Full-Stack Design

System Architecture & Data Flow

FrameFlow splits concerns cleanly between a pure JSON/media streaming REST API backend and a client-side rendered Next.js application. Administrative operations are locked behind JWT authentication, while streaming endpoints support range headers for seamless video seeking.


Results

Impact & Outcomes

  • NestJS 12Backend
  • Next.js 16Frontend
  • Prisma 7ORM
  • HTTP 206Streaming

Takeaways

Lessons Learned

  • Integrating Prisma 7 driver adapters (@prisma/adapter-pg) provides superior connection pooling control with native pg.Pool instances.
  • Isolating heavy media processing tasks (like FFmpeg thumbnail extraction) prevents CPU bottlenecks during video streaming.