A full-stack IMDB-like web application built with React, Node.js, and MongoDB. The application allows users to browse, and manage movies with their associated actors and producers.
- ✅ Complete CRUD operations for movies
- ✅ Integration with TMDB API for extended movie database
- ✅ Token-based authentication (JWT)
- ✅ Responsive design with Tailwind CSS
- ✅ Real-time search people functionality
- ✅ Grid and List view options
1.mp4
2.mp4
3.mp4
- ✅ Movies can have multiple actors
- ✅ Actors can be in multiple movies
- ✅ Each movie has one producer
- ✅ Producers can have multiple movies
- ✅ Display movies with:
- Name
- Year of release
- Producer
- Cast (actors)
- ✅ Grid/List view toggle
- ✅ Pagination
- ✅ Search functionality
- ✅ Integration with TMDB for extended movie catalog
- ✅ Add new movies
- ✅ Edit existing movies
- ✅ Delete movies (local database only)
- ✅ Dynamic actor/producer addition during movie creation
- ✅ Validation rules for all inputs
- React with TypeScript
- Redux Toolkit for state management
- React Router for navigation
- React Hooks for component logic
- Tailwind CSS for styling
- Lucide React for icons
- Node.js with Express
- MongoDB with Mongoose
- JWT for authentication
- RESTful API architecture
- Normalized schema following best practices
- Proper indexing for performance
- Referential integrity maintained
- Support for external IDs (TMDB integration)
-
Movie:
- Name is required
- Year must be between 1888 and current year
- Plot must be at least 10 characters
- Poster URL is required
- At least one actor is required
- Producer is required
-
Actor/Producer:
- Name is required
- Gender must be male/female/other
- Date of birth is required
- Bio must be at least 10 characters
- ✅ JWT-based authentication
- ✅ Protected routes
- ✅ User registration and login
- ✅ Token persistence