Skip to content
+

Overview

Production-ready NestJS API for media management with CRUD operations, metadata extraction, thumbnail generation, and AWS Lambda deployment support.

Introduction

@stoked-ui/media-api is a backend API service built with NestJS that provides complete media management capabilities. It serves as the backend for the @stoked-ui/media client-side package.

Architecture

  • Framework: NestJS with TypeScript
  • Database: MongoDB via Mongoose
  • Storage: AWS S3 for media files
  • Processing: FFmpeg for video, Sharp for images
  • Documentation: Swagger/OpenAPI auto-generated docs
  • Deployment: AWS Lambda via Serverless or standalone Node.js

Features

  • CRUD Operations — Create, read, update, and delete media items
  • Metadata Extraction — Automatic extraction of media metadata (dimensions, duration, codec, etc.)
  • Thumbnail Generation — Auto-generate thumbnails for images and video keyframes
  • Resumable Uploads — Multipart upload support for large files
  • Search & Filter — Full-text search and metadata-based filtering
  • Social Features — Like, share, and comment on media items

Tech Stack

Layer Technology
API Framework NestJS
Database MongoDB / Mongoose
Object Storage AWS S3
Video Processing FFmpeg
Image Processing Sharp
API Docs Swagger / OpenAPI
Auth JWT / Passport
Deployment AWS Lambda / Docker

What's next