0e13e44febca16ebf5393c61cb61735f627581b6
20:22 Scoped the bare video entry in the root .gitignore to its intended path. Tailwind V4 respects all .gitignore files in the project when scanning for utility classes, so the bare entry was silently preventing components/video/* from being scanned and its classes from appearing in the computed CSS output. The bug was absent in Docker as the root .gitignore was never copied into the container.
Overview
The VoD System is a powerful clip management platform designed to streamline how you handle your video content. Whether you're a content creator, streamer, or educator, VoD System lets you:
- Upload clips effortlessly and securely.
- Edit and trim videos with intuitive controls.
- Compress files to specific file sizes.
- Organize your clips for quick access and sharing.
This VoD system began as a small project back in my 5th year of secondary school, during lockdown. I wanted a quick way to send game clips to Discord, but the 8MB file size limit made it frustrating to manually tweak bitrates for every clip. To solve that, I wrote a simple Python script to automate the process. What started as a quick fix has since evolved into a full-fledged system — now built with a Spring Boot backend and a modern React/Vite frontend.
Requirements
- Docker & Docker Compose
- JDK 21+
- Node.js 16+
- FFMPEG
- Google Client keys
Steps
- Create your own two
.envfiles based off theexample.envfiles in the root and in the frontend folder - Spin up docker container with
docker compose up - Run
./mvnw clean packageto build the jar - Run
./mvnw spring-boot:runto run the backend section - Run
cd frontend && npm install && npm run devto build and run the frontend - Endpoints should be available at 8080 (backend) and 5173 (frontend)
Future Plans
- Format Handling
- Backend conversion of non-MP4 files via FFMPEG for broader format support
- Input Sources
- Support for local file uploads and YouTube imports
- Testing
- Unit tests, including coverage for FFMPEG-related functionality
- API Documentation
- Comprehensive and maintainable backend API docs
Description
A lightweight VoD system for uploading, editing, and compressing video clips to a target file size for easy sharing.
Languages
Java
64.1%
TypeScript
33%
CSS
1.9%
Dockerfile
0.4%
HTML
0.3%
Other
0.3%