#MOVIREC
🚀 A modern, full-stack Movie Recommendation App that allows users to browse trending movies, receive personalized recommendations, and manage their favorite movies. Built with Next.js, TypeScript, and TailwindCSS, and powered by a Django REST API.
✅ User Authentication (JWT-based login & signup)
✅ Trending Movies (Fetched from TMDb via the backend)
✅ Personalized Recommendations (Based on trending movie selections)
✅ Favorites System (Users can save & manage favorite movies)
✅ Search & Filters (Sort by genre, popularity, rating, release date)
✅ Responsive UI (Works seamlessly across devices)
✅ Dark Mode Support 🌙
- Next.js 14 (Server-side rendering & API integration)
- TypeScript (Type safety & better development experience)
- TailwindCSS (Modern, responsive styling)
- Radix UI (Accessible UI components)
- JWT-based Auth (Token-based authentication for security)
- Django REST Framework (Powerful API development)
- PostgreSQL (Relational database for user & movie data)
- Redis (Caching for improved performance)
- Swagger (Comprehensive API documentation)
- JWT Authentication (Secure login & user sessions)
📦 movie-recommendation-app
┣ 📂 app # Next.js API Routes
┣ 📂 components # UI components
┣ 📂 context # State management (Auth & Favorites Context)
┣ 📂 pages # Next.js pages (Movies, Favorites, Auth, etc.)
┣ 📂 styles # Global styles (Tailwind & custom CSS)
┣ 📜 .env.local # API Keys & Environment Variables
┣ 📜 package.json # Project dependencies
┣ 📜 README.md # Project documentation
┗ 📜 tsconfig.json # TypeScript configuration
git clone https://github.com/HARBBEY21166/TestRun.git
cd TestRun
npm install
Create a .env.local
file in the root directory and add:
NEXT_PUBLIC_BACKEND_URL=https://alxprodev-movie-recommendation-backend.onrender.com
NEXT_PUBLIC_TMDB_API_KEY=your_tmdb_api_key_here
npm run dev
Visit http://localhost:3000
in your browser.
- Login:
POST /users/login/
- Signup:
POST /users/signup/
- Refresh Token:
POST /users/token/refresh/
- Get Trending Movies:
GET /movies/trending/
- Get Recommendations:
GET /movies/recommendations/{movie_id}/
- Save a Favorite:
POST /favorites/
- Get Favorites:
GET /favorites/
- Remove Favorite:
DELETE /favorites/{id}/
The app is deployed on Vercel. You can access it here: Live Demo
To deploy manually:
git push origin main
Vercel will automatically build and deploy the project.
🔹 Improve UI/UX Design for a more polished experience
🔹 Implement Search Functionality for better navigation
🔹 Add User Profiles with watch history and preferences
🔹 Enable Movie Reviews & Ratings from users
Contributions are welcome! Feel free to fork this repo, create a branch, and submit a pull request.
This project is open-source and available under the MIT License.
💡 Developed by Abbey 🚀