
Web App
Cinema Reservation System
Full-stack cinema ticket booking app where users browse movies, pick showtimes, select seats on a live grid, and hold reservations with a countdown timer.
Overview
- ▸Built a complete booking flow — movie browsing → showtime selection → interactive seat grid → 5-minute reservation hold with live countdown
- ▸Designed a Next.js catch-all API proxy (/api/proxy/[...path]) to forward authenticated requests to Django without CORS issues or django-cors-headers
- ▸Implemented multi-seat selection with color-coded seat statuses (available, selected, occupied, and reserved) with instant UI feedback
- ▸Django signal auto-generates all seats for a showtime's hall the moment a showtime is created — no manual seat management required
- ▸JWT authentication with 8-hour access tokens stored in cookies; proxy reads the token server-side and injects the Authorization header
- ▸Built a full frontend admin panel (movies, halls, showtimes) with poster image upload, live preview, and multipart form forwarding through the proxy
- ▸Bilingual UI (English + Persian) with full RTL layout switching powered by next-intl
- ▸Movie poster images served from Django's media backend with absolute URLs injected by the serializer; displayed throughout the frontend via Next.js Image