MovieMenia is a modern full-stack movie discovery platform built with the MERN stack that combines real-time movie exploration with AI-powered recommendations. Leveraging The Movie Database (TMDb) API, users can browse trending, popular, top-rated, and upcoming movies, search their favorite titles, and access detailed information including ratings, genres, cast, trailers, and overviews.
The application features secure JWT-based authentication, allowing users to create accounts, log in safely, and enjoy personalized experiences. An integrated AI recommendation system powered by Google Gemini analyzes user prompts and preferences to suggest movies tailored to their interests, making movie discovery faster and more engaging.
Built with React, Express.js, MongoDB, and Zustand, MovieMenia follows modern development practices with a responsive UI, efficient state management, RESTful APIs, and a scalable backend architecture. Designed for both desktop and mobile devices, it delivers a fast, intuitive, and immersive movie browsing experience.
- 🔐 Secure Authentication
- 👤 User Profile Management
- 📱 Fully Responsive Design
- ⚡ Fast SPA using React + Vite
- 🌙 Modern UI
- 🔄 REST API Integration
- 🍪 JWT Authentication using Cookies
- 📡 Global State Management with Zustand
- 🔔 Toast Notifications
- 📱 Mobile Friendly Interface
- 🚀 Optimized Performance
- React 19
- Vite
- React Router v7
- Axios
- Zustand
- Lucide React
- Swiper.js
- React Hot Toast
- Node.js
- Express.js
- MongoDB
- Mongoose
- JWT Authentication
- bcrypt
- Cookie Parser
- CORS
- dotenv
@google/genai
axios
lucide-react
react
react-dom
react-hot-toast
react-router-dom
swiper
zustandbcrypt
cookie-parser
cors
dotenv
express
jsonwebtoken
mongodb
mongoose
nodemonProject
│
├── frontend
│ ├── src
│ ├── public
│ └── package.json
│
├── backend
│ ├── controllers
│ ├── routes
│ ├── middleware
│ ├── models
│ ├── config
│ └── package.json
│
└── README.md
git clone https://github.com/KeyaRaniMondal/MovieMenia.2.0.gitcd MovieMenia.2.0
cd frontend
Install dependencies
npm installCreate .env
VITE_API_URL=http://localhost:5000
VITE_GEMINI_API_KEY=YOUR_KEYRun
npm run devcd backend
Install dependencies
npm installCreate .env
PORT=5000
MONGODB_URI=YOUR_MONGODB_URI
JWT_SECRET=YOUR_SECRET
CLIENT_URL=http://localhost:5173Run Server
node Server.jsor
nodemon Server.js- Dark Mode
- Real-time Notifications
- Role-based Authorization
- Image Upload Optimization
- Better Analytics Dashboard
Contributions are welcome!
-
Fork the repository
-
Create your feature branch
git checkout -b feature/NewFeature- Commit your changes
git commit -m "Added New Feature"- Push
git push origin feature/NewFeature- Open a Pull Request
⭐ If you like this project, don't forget to give it a star!

.png)