Movieclub.app
March 2026
View project
websitelaravelvuecontent managementphpsoftware
A web application that facilitates virtual movie clubs, enabling groups of friends or communities to schedule, watch, and discuss movies together online. Built with Laravel, Vue.js, and Inertia.js, it provides real-time chat during movie viewing, post-movie reviews and ratings, and scheduled meeting management with timezone awareness.
Features
- User registration and authentication with role-based access
- Movie club creation and management (up to 100 members per club)
- Public club directory with search, join requests, and admin approval
- Club slugs for SEO-friendly URLs (e.g.,
/clubs/friday-film-club) - Club statistics page with member activity, genre distribution, and rating trends
- TMDB API movie search with advanced filtering (genre, year, rating, platform)
- Saved movie searches — save and reuse filter combinations
- Movie collections — curated, thematic movie lists
- Personalized movie recommendations powered by user preferences and club activity
- Scheduled movie watching sessions with timezone-aware scheduling
- Calendar feed (iCal) subscription for club meeting schedules
- Real-time chat during movie viewing with emoji picker and Markdown support
- Half-star rating and review system (0.5-5 stars) with spoiler protection
- User rating analytics on profile (average, genre breakdown, distribution)
- Movie chooser rotation system (round-robin by default)
- Discussion boards with threaded posts, Markdown formatting, and discussion tags
- Watchlist system (personal and club watchlists)
- RSVP tracking with Google Calendar integration
- Admin dashboards for club and system management
- Registration toggle for site-wide access control
- Keyboard shortcuts for fast navigation (press
?for help) - Onboarding checklist for new users
- Legal pages, abuse reporting, and public changelog
- Duplicate movie prevention for meeting selection
- Streaming availability — see where to stream, rent, or buy movies (via TMDB/JustWatch)
- Pre-meeting countdown timers on dashboard and meeting pages
- Meeting reminder emails (30 min before) and post-meeting review prompts
- Email notification preferences — opt out of reminders from your profile
- Club movie history page with stats, ratings, sorting, and pagination
- Emoji reactions on chat messages and discussion posts
- Click-to-reveal spoiler protection for reviews and discussion posts
- Google Analytics integration (production only)
- Cinema Gold (#D4AF37) dark theme designed for cinematic immersion
Tech Stack
- Backend: Laravel 13 (PHP 8.3)
- Frontend: Vue.js 3 (Composition API) + Inertia.js
- Styling: Tailwind CSS
- Database: MySQL 8.0
- Cache/WebSockets: Redis + Laravel Echo Server
- Containerization: Docker + Docker Compose
- Movie Data: TMDB API
- CI/CD: GitHub Actions with test coverage reporting