Build a Video Platform: Video Player & Progress Tracking
Build a custom React video player with hls.js for adaptive streaming, quality selection, playback speed controls, resume from last position, and debounced progress saving with sendBeacon.
All posts tagged with "java"
Build a custom React video player with hls.js for adaptive streaming, quality selection, playback speed controls, resume from last position, and debounced progress saving with sendBeacon.
Set up secure HLS video streaming with Nginx secure_link, signed URL generation in Spring Boot, CORS headers, and download prevention to protect your video content.
Build an async video transcoding pipeline with FFmpeg and Spring Boot, converting uploads to multi-resolution HLS streams (360p + 720p), tracking progress in Redis, and extracting metadata with ffprobe.
Build a multipart video upload system with Spring Boot, including file validation, organized disk storage layout, upload progress tracking, and an admin UI with drag-and-drop upload and progress bars.
Build a Next.js admin dashboard with shadcn/ui components, course editor forms using react-hook-form and zod validation, section and lesson management panels, and drag-and-drop reordering with dnd-kit.
Design JPA entities for courses, sections, and lessons with Flyway migrations, build an admin CRUD API with validation, and implement slug generation, sort ordering, and DTO mapping.
Implement JWT authentication with Spring Security, OAuth2 social login with Google and GitHub, refresh token rotation, and a Next.js auth context with protected routes and automatic token refresh.
Set up a Spring Boot + Next.js project from scratch with Docker Compose for PostgreSQL and Redis. Covers project scaffolding, folder structure, dev profiles, health check endpoints, and hot reload workflow.
Learn to build a self-hosted video course platform from scratch with Spring Boot, Next.js, FFmpeg, PostgreSQL, Redis, and Stripe. A 15-post series covering HLS streaming, subscriptions, and deployment.
Learn how to design object-oriented systems that are maintainable, flexible, and scalable. Master CRC cards, GRASP patterns, coupling and cohesion, responsibility-driven design, and practical design heuristics with examples in TypeScript, Python, and Java.