A modern, intelligent movie streaming platform built with cutting-edge AI technology for personalized recommendations and enhanced user experience.
- Smart Content Discovery: Gemini AI analyzes viewing patterns and preferences
- Personalized Suggestions: Machine learning algorithms for tailored movie recommendations
- Mood-Based Recommendations: AI understands user context and suggests content accordingly
- Similar Content Matching: Advanced similarity algorithms for "More Like This" features
- High-Quality Streaming: Adaptive bitrate streaming for optimal viewing experience
- Multi-Device Support: Seamless experience across desktop, tablet, and mobile
- Offline Downloads: Save content for offline viewing
- Watch History: Track and resume viewing progress across devices
- Intelligent Search: AI-enhanced search with natural language processing
- Smart Playlists: Auto-generated playlists based on preferences
- Social Features: Share recommendations and create watchlists with friends
- Accessibility: Full screen reader support and keyboard navigation
- Viewing Analytics: Detailed insights into user behavior and preferences
- Content Performance: Track popular content and engagement metrics
- A/B Testing: Optimize recommendations through continuous testing
- Next.js 15 - React framework with App Router
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first CSS framework
- shadcn/ui - Modern component library
- Framer Motion - Smooth animations and transitions
- Supabase - Backend-as-a-Service with PostgreSQL
- Supabase Auth - Authentication and user management
- Supabase Storage - File storage for media assets
- Supabase Edge Functions - Serverless functions
- Google Gemini AI - Advanced AI for recommendations
- TensorFlow.js - Client-side ML models
- Vercel AI SDK - AI integration and streaming
- Redux Toolkit - Predictable state management
- RTK Query - Data fetching and caching
- React Query - Server state management
- Video.js - HTML5 video player
- HLS.js - HTTP Live Streaming support
- FFmpeg.wasm - Client-side video processing
- Vercel - Deployment and hosting
- ESLint - Code linting with strict rules
- Prettier - Code formatting
- Husky - Git hooks for quality assurance
- Node.js 18+ and npm
- Supabase account
- Google Cloud account (for Gemini AI)
-
Clone the repository
git clone https://github.com/yourusername/cinenext.git cd cinenext -
Install dependencies
npm install
-
Environment Setup
cp .env.example .env.local
Fill in your environment variables:
# Supabase NEXT_PUBLIC_SUPABASE_URL=your_supabase_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key SUPABASE_SERVICE_ROLE_KEY=your_service_role_key # Gemini AI GOOGLE_AI_API_KEY=your_gemini_api_key # Other APIs TMDB_API_KEY=your_tmdb_api_key NEXT_PUBLIC_APP_URL=http://localhost:3000
-
Database Setup
npm run db:setup
-
Start development server
npm run dev
Visit http://localhost:3000 to see your application.
cinenext/
βββ src/
β βββ app/ # Next.js App Router
β β βββ (auth)/ # Authentication routes
β β βββ (dashboard)/ # Main app routes
β β βββ api/ # API routes
β β βββ globals.css # Global styles
β βββ components/ # Reusable components
β β βββ ui/ # shadcn/ui components
β β βββ features/ # Feature-specific components
β β βββ layout/ # Layout components
β βββ lib/ # Utility functions
β β βββ ai/ # AI integration
β β βββ supabase/ # Supabase client
β β βββ utils.ts # Helper functions
β βββ store/ # Redux store
β β βββ slices/ # Redux slices
β β βββ api/ # RTK Query APIs
β βββ types/ # TypeScript definitions
β βββ hooks/ # Custom React hooks
βββ public/ # Static assets
βββ supabase/ # Supabase configuration
β βββ migrations/ # Database migrations
β βββ functions/ # Edge functions
βββ docs/ # Documentation
# Development
npm run dev # Start development server
npm run build # Build for production
npm run start # Start production server
# Code Quality
npm run lint # Run ESLint
npm run lint:fix # Fix ESLint issues
npm run type-check # TypeScript type checking
npm run format # Format code with Prettier
# Database
npm run db:setup # Setup database schema
npm run db:migrate # Run migrations
npm run db:seed # Seed database with sample data
# Testing
npm run test # Run tests
npm run test:watch # Run tests in watch mode
npm run test:e2e # Run end-to-end testsThe AI recommendation system uses multiple approaches:
- Collaborative Filtering: Analyzes user behavior patterns
- Content-Based Filtering: Matches content attributes
- Hybrid Approach: Combines multiple algorithms for better accuracy
- Real-time Learning: Continuously improves based on user interactions
// Example: Getting AI recommendations
const getAIRecommendations = async (
userId: string,
preferences: UserPreferences
) => {
const prompt = `Based on user preferences: ${JSON.stringify(preferences)},
recommend 10 movies with explanations.`;
const result = await gemini.generateContent(prompt);
return parseRecommendations(result.response.text());
};- Supabase Auth: Secure authentication with multiple providers
- Row Level Security (RLS): Database-level security policies
- JWT Tokens: Secure API communication
- Rate Limiting: API protection against abuse
- Content Security Policy: XSS protection
Built with mobile-first approach:
- Breakpoints: Tailored for all screen sizes
- Touch Gestures: Optimized for mobile interactions
- Progressive Web App: Installable on mobile devices
- Offline Support: Core functionality works offline
npm run build
vercel --proddocker build -t cinenext .
docker run -p 3000:3000 cinenextWe welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- The Movie Database (TMDB) for movie data
- Unsplash for placeholder images
- Lucide for beautiful icons
- Open source community for amazing tools and libraries
- π§ Email: support@cinenext.com
- π¬ Discord: Join our community
- π Documentation: docs.cinenext.com
- π Issues: GitHub Issues