A web-based video streaming platform that uses the BitTorrent protocol to enable just-in-time video streaming.
- Search and stream videos from multiple external sources
- Just-in-time BitTorrent streaming with server-side proxy
- Automatic format conversion for browser compatibility
- Multi-language subtitle support
- User authentication (standard + OAuth2 with 42 school/Google/GitHub)
- Comment system and watch history
- Mobile-responsive design
- Spring Boot Cloud (microservices architecture)
- PostgreSQL (database)
- Redis (caching)
- RabbitMQ (message queue)
- libtorrent4j (BitTorrent integration)
- FFmpeg (video conversion)
- Vue.js with Nuxt framework
- Vuex (state management)
- Tailwind CSS (styling)
The application follows a microservices architecture:
- Eureka Server - Service discovery
- API Gateway - Request routing and OAuth2 authentication
- User Management Service - Authentication and profile management
- Search/Library Service - Video search and metadata management
- Video Streaming Service - BitTorrent downloads and streaming
- Streaming Worker - Background video processing and conversion
- Comment Service - User comments and ratings
- Docker and Docker Compose
- Java 17+
- Node.js 18+
- Maven 3.8+
- Clone the repository:
git clone <repository-url>
cd hypertube- Start infrastructure services:
docker-compose up -d postgres redis rabbitmq- Start backend services:
cd services
./mvnw spring-boot:run- Start frontend:
cd frontend
npm install
npm run dev- Access the application:
- Frontend: http://localhost:3000
- API Gateway: http://localhost:8080
- Eureka Dashboard: http://localhost:8761
hypertube/
├── services/ # Backend microservices
│ ├── eureka-server/ # Service discovery
│ ├── api-gateway/ # API Gateway
│ ├── user-management/ # User service
│ ├── search-library/ # Search service
│ ├── video-streaming/ # Streaming service
│ ├── streaming-worker/ # Background worker
│ └── comment-service/ # Comment service
├── frontend/ # Nuxt.js frontend
├── doc/ # Documentation
├── docker-compose.yml # Docker orchestration
└── CLAUDE.md # Development guide
This application implements comprehensive security measures:
- Bcrypt password hashing
- JWT authentication with token refresh
- Input validation and sanitization
- SQL injection prevention
- XSS protection
- CSRF protection
- Rate limiting
[Add your license here]
[Add contributors here]