A full-stack movie & TV show download platform built with Next.js 16, Supabase, and Tailwind CSS — hosted for free on Vercel.
| Layer | Tool |
|---|---|
| Framework | Next.js 16 (App Router) |
| Styling | Tailwind CSS v4 |
| UI | Radix UI + custom shadcn-style components |
| Database | Supabase (PostgreSQL) |
| Auth | Supabase Auth |
| Cache | Upstash Redis |
| Images | Cloudinary CDN |
| Hosting | Vercel (free tier) |
- Movies & TV Shows with multiple quality download links (480p/720p/1080p/4K)
- Multiple mirror hosts per quality (Google Drive, Mega, MediaFire, etc.)
- Per-episode + season pack downloads for TV shows
- External streaming links per title
- Real-time search with full filters (genre, year, language, quality, rating)
- Sort: newest, highest rated, most downloaded, A-Z, release date
- Admin-controlled homepage (hero banner, rows, trending, staff picks)
- User accounts: watchlist, download history, ratings & reviews, notifications
- Community request board with public upvoting
- Broken link reporting system
- Role-based access: user / mod / admin
- Admin dashboard with analytics
- Auto-generated sitemap.xml for SEO
- ISR (Incremental Static Regeneration) for fast cached page loads
- Dark theme throughout
npm installCopy .env.example to .env.local and fill in:
cp .env.example .env.local| Variable | Where to get it |
|---|---|
NEXT_PUBLIC_SUPABASE_URL |
Supabase project → Settings → API |
NEXT_PUBLIC_SUPABASE_ANON_KEY |
Supabase project → Settings → API |
SUPABASE_SERVICE_ROLE_KEY |
Supabase project → Settings → API |
UPSTASH_REDIS_REST_URL |
Upstash dashboard |
UPSTASH_REDIS_REST_TOKEN |
Upstash dashboard |
In your Supabase SQL Editor, run in order:
supabase/schema.sqlsupabase/increment_download.sql
npm run devAfter registering, run in Supabase SQL Editor:
UPDATE profiles SET role = 'admin' WHERE email = 'your@email.com';- Push to GitHub
- Import in Vercel
- Add environment variables
- Deploy
| Service | Free Tier |
|---|---|
| Vercel | 100GB bandwidth, unlimited deploys |
| Supabase | 500MB DB (pauses after 1 week dev inactivity) |
| Upstash Redis | 10K commands/day |
| Cloudinary | 25GB storage + CDN |
/ Homepage
/movies All movies
/shows All TV shows
/genre/[slug] Browse by genre
/movies/[slug] Movie detail + downloads
/shows/[slug] Show detail + episodes
/search Search & filter
/requests Community requests
/login Sign in
/register Sign up
/watchlist Saved titles (auth required)
/history Download history (auth required)
/notifications Notifications (auth required)
/admin Dashboard
/admin/content/add Add content
/admin/content/edit/[id] Edit content
/admin/users User management
/admin/reports Broken link reports
/admin/requests Manage requests
/admin/analytics Analytics
/admin/homepage Homepage section manager