662966f138de047a06e1cb16b1b22698ccff2acd
* ADD JWT authentication support with token generation and validation * ADD JWT handling after successful login * ADD user authentication and standardize user retrieval * COMBINE token dtos * ADD JWT authentication filter * IMPROVE token handling * STANDARDIZE API endpoints and improve JWT handling * REMOVE extra logging * REMOVE redundant job existence checks * UPDATE Bruno Google token * REFACTOR some classes * ADD JWT cookie check * ADD AuthProvider and CORS configuration; UPDATE API endpoints for consistency * ADD JWT validation check; * ADD profile picture to database * ADD reload after login to update page * PATCH login issue * REMOVE unused classes * ADJUST logging in JwtFilter * REMOVE unused React component
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
Steps
- 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
- User Management
- Database integration with authentication and login
- Clip saving and management for authenticated users
- 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
59.9%
TypeScript
36.7%
CSS
2.1%
JavaScript
0.6%
Dockerfile
0.4%
Other
0.3%