A Netflix-like streaming platform to browse movies & TV shows, create watchlists, rate content, and get AI-powered recommendations.
π Live Demo
| Feature | Description |
|---|---|
| π₯ Content Discovery | Browse trending movies & TV shows, search, filter by genre/year/rating |
| π€ User Accounts | Email/password & Google OAuth authentication |
| β Personalization | Watchlists, ratings, viewing history, favorite actors |
| π€ AI Recommendations | Personalized suggestions powered by Google Gemini |
| πΊ Watch Providers | See where to stream, rent, or buy (via JustWatch) |
| π¨ Dark/Light Mode | Theme toggle with responsive design |
| π οΈ Admin Dashboard | User management, content caching, analytics |
- Node.js 18+
- Firebase account (console.firebase.google.com)
- TMDB API key (themoviedb.org)
# Clone and install
git clone https://github.com/ageborn-dev/streamverse.git
cd streamverse
npm install
# Configure environment
cp .env.local.example .env.local
# Edit .env.local with your Firebase config
# Run development server
npm run devNote: TMDB and Gemini API keys are configured via the Admin Dashboard (
/admin/settings), not in.env.local.
Create .env.local with your Firebase configuration:
NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id| Category | Technologies |
|---|---|
| Frontend | Next.js 15, React 18, TypeScript, Tailwind CSS, shadcn/ui |
| Backend | Firebase Auth, Firestore, Firebase Storage |
| APIs | TMDB API, Google Gemini AI |
| Deployment | Vercel |
src/
βββ app/ # Next.js pages & API routes
βββ components/ # React components (ui/, content/, layout/)
βββ context/ # React Context providers
βββ firebase/ # Firebase configuration
βββ lib/ # Utilities & API helpers
βββ ai/ # AI features (Genkit + Gemini)
- Create an account and log in
- In Firestore, set
users/{your-uid}/isAdmin: true - Access
/admindashboard
npm run dev # Development (port 9002)
npm run build # Production build
npm run lint # ESLint
npm run typecheck # TypeScript check- Push to GitHub
- Import repo at vercel.com
- Add environment variables
- Deploy!
MIT License - see LICENSE
Created by Ageborn Dev β’ Built with β€οΈ using Next.js & Firebase