Film Arşivim
A personal movie archive with TMDB integration: queue-based bulk import and personal recommendations.
- Laravel
- PHP
- TMDB API
- Queues
- Alpine.js
- Tailwind CSS
Problem
Jotting down watched movies is easy; archiving them with rich metadata, combining that with a watchlist and importing hundreds of titles in one go is not. Manual data entry doesn't scale: looking up the poster, director, runtime and rating for every single film kills the archiving habit.
Solution
Film Arşivim is a personal movie management system with TMDB integration. Type a title and the poster, director, overview and runtime arrive automatically; personal ratings, a watchlist and statistics live on one platform. The most critical piece is queue-based bulk import — hundreds of titles pasted at once, processed item by item in the background, with live progress and an error report.
Approach
- Asynchronous batch import: every title is its own queue job (
tries: 3,timeout: 45); batches are cancellable and status transitions are idempotent — running a job twice can't corrupt data. - Smart matching: free-text queries resolve to the best TMDB hit via smart search; not-found and duplicate entries land in the report instead of disappearing silently.
- Relational design: users, movies, batches, collections and activity are separate models; statistics (total watch time, top movie) are derived from queries.
- Server rendering + light interactivity: Blade + Alpine.js; real-time search and progress tracking without a heavy SPA framework.