https://github.com/ozturkeniss/next-movierecommenderai
A movie recommendation web application that uses OpenAI's GPT-3.5 to analyze user preferences and suggest films based on their interests.
https://github.com/ozturkeniss/next-movierecommenderai
movie-recommendation-app nextjs openai
Last synced: 4 months ago
JSON representation
A movie recommendation web application that uses OpenAI's GPT-3.5 to analyze user preferences and suggest films based on their interests.
- Host: GitHub
- URL: https://github.com/ozturkeniss/next-movierecommenderai
- Owner: ozturkeniss
- License: mit
- Created: 2025-03-10T02:07:32.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2025-03-21T00:05:18.000Z (7 months ago)
- Last Synced: 2025-05-30T00:05:45.280Z (4 months ago)
- Topics: movie-recommendation-app, nextjs, openai
- Language: TypeScript
- Homepage:
- Size: 108 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MovieAI - AI-Powered Movie Recommendation System
MovieAI is a modern web application that uses artificial intelligence to provide personalized movie recommendations based on user preferences and natural language descriptions.

## π Features
- **Natural Language Processing**: Describe your movie preferences in plain English
- **AI-Powered Analysis**: Advanced analysis of user preferences using OpenAI's GPT-3.5
- **Category-Based Recommendations**: Smart categorization of preferences into specific genres
- **Modern UI/UX**: Sleek dark theme with smooth animations and transitions
- **Responsive Design**: Fully responsive across all devices
- **Real-time Analysis**: Instant processing and redirection to relevant categories## π§ Technology Stack
- **Frontend**:
- Next.js 14 (React Framework)
- TypeScript
- Tailwind CSS
- Framer Motion
- Material-UI Icons- **Backend**:
- Next.js API Routes
- OpenAI GPT-3.5## ποΈ Architecture
```mermaid
graph TD
A[User Input] --> B[Frontend UI]
B --> C[Next.js API Route]
C --> D[OpenAI API]
D --> E[Category Analysis]
E --> F[Category Redirect]
F --> G[Movie Recommendations]
```## π API Flow
```plaintext
1. User Input
βββ Natural language description of preferences
βββ Frontend validation
βββ API Request (/api/analyze)
βββ OpenAI Processing
βββ Category Determination
βββ Response & RedirectAPI Request Format:
POST /api/analyze
{
"query": "string" // User's movie preference description
}API Response Format:
{
"category": "string", // Determined movie category
"confidence": number, // Confidence score (0-1)
"error": "string" // Error message if any
}
```## π Getting Started
### Prerequisites
- Node.js 18.0 or higher
- npm or yarn
- OpenAI API key### Installation
1. Clone the repository:
```bash
git clone https://github.com/kalzimkholodros/Next-MovieRecommenderAI.git
cd folder-name
```2. Install dependencies:
```bash
npm install
# or
yarn install
```3. Set up environment variables:
```bash
cp .env.example .env.local
```
Edit `.env.local` and add your OpenAI API key:
```
OPENAI_API_KEY=your_api_key_here
```4. Run the development server:
```bash
npm run dev
# or
yarn dev
```5. Open [http://localhost:3000](http://localhost:3000) in your browser.
## π Project Structure
```
movie-management-ai/
βββ app/
β βββ api/
β β βββ analyze/
β β βββ route.ts
β βββ categories/
β β βββ page.tsx
β βββ category/
β β βββ [slug]/
β β βββ page.tsx
β βββ about/
β β βββ page.tsx
β βββ page.tsx
βββ components/
β βββ Navbar.tsx
βββ public/
β βββ assets/
βββ styles/
β βββ globals.css
βββ types/
β βββ index.ts
βββ utils/
βββ api.ts
```## π¨ UI Components
### Main Pages
- **Home**: Natural language input for movie preferences
- **Categories**: Grid layout of movie genres with animations
- **Category Detail**: Specific genre recommendations
- **About**: Project information and features### Shared Components
- **Navbar**: Responsive navigation with MUI icons
- **Loading States**: Animated loading indicators
- **Error Handling**: User-friendly error messages
- **Animations**: Page transitions and hover effects## π State Management
- React's useState for local component state
- Server-side data fetching with Next.js
- API response caching for improved performance## π― Future Enhancements
- [ ] User authentication and profiles
- [ ] Personalized recommendation history
- [ ] Advanced filtering options
- [ ] Integration with movie databases (TMDB, IMDB)
- [ ] Social sharing features
- [ ] Watch later functionality
- [ ] Rating system## π Security
- Environment variables for sensitive data
- API rate limiting
- Input sanitization
- Error boundary implementation## π Performance
- Optimized images and assets
- Code splitting and lazy loading
- Minimal bundle size
- Efficient API calls## π€ Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request## π License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## π₯ Authors
- Your Name - Initial work - [YourGithub](https://github.com/yourusername)
## π Acknowledgments
- OpenAI for GPT-3.5 API
- Next.js team for the amazing framework
- Vercel for hosting and deployment
- All contributors and supporters---
For more information or support, please open an issue or contact the maintainers.