Skip to content
@Filmexa

Filmexa

🎬 Filmexa

Filmexa is a full-stack movie discovery and streaming platform developed as part of the 42 Hypertube project.

The platform combines movie discovery, torrent-based downloading, real-time streaming, adaptive video playback, and user management in a single application.

✨ Key Features

  • πŸ” Secure authentication with JWT, refresh-token cookies, BCrypt, email verification, password recovery, and rate limiting
  • 🌐 OAuth authentication with 42, Google, and Facebook
  • 🎞️ Movie discovery, search, filtering, categories, trailers, and watchlists
  • ⚑ Background torrent downloads with progress tracking
  • πŸ“Ί Adaptive HLS streaming with multiple quality levels
  • πŸ”„ On-the-fly video transcoding with FFmpeg
  • πŸ’¬ Movie comments and user profiles
  • 🌍 Internationalization in English, French, and Arabic
  • 🧹 Automatic cleanup of inactive movie files
  • πŸ“– REST API documentation with OpenAPI / Swagger
  • πŸ§ͺ Unit and integration testing
  • 🐳 Docker Compose environment for frontend, backend, and PostgreSQL

πŸ› οΈ Tech Stack

Frontend

  • Angular 19
  • TypeScript
  • HLS.js

Backend

  • Java 17
  • Spring Boot
  • Spring Security
  • Spring Data JPA

Infrastructure & Media

  • PostgreSQL
  • FFmpeg
  • Docker
  • Docker Compose

External Services

  • TMDB
  • External torrent providers

πŸš€ Streaming Architecture

One of the main technical challenges of Filmexa was enabling playback while movie content was still being downloaded.

The application handles downloading, buffering, transcoding, HLS playlist generation, concurrency, and error recovery so that media can be prepared and streamed without blocking the rest of the system.

πŸ‘₯ Team

Filmexa was developed collaboratively by:

  • Marouane Addou
  • Mohamed Baanni
  • Mohssen El Gandali
  • Karim Chaouki

πŸ“Œ Project Management

We used GitHub Projects to organize the development workflow across:


Built with passion as part of the 42 Hypertube project. πŸš€

Popular repositories Loading

  1. frontend frontend Public

    Angular 19 frontend for Filmexa, featuring movie discovery, advanced search, watchlists, real-time download progress, and adaptive HLS video streaming.

    TypeScript 1

  2. backend backend Public

    Filmexa Backend is a Java and Spring Boot application that provides REST APIs for movie discovery and search, manages server-side movie downloads, tracks download progress, and handles on-demand vi…

    Java 1

  3. .github .github Public

Repositories

Showing 3 of 3 repositories

Top languages

Loading…

Most used topics

Loading…