![Screenshot 2023-06-07 at 4 47 09 PM](https://private-user-images.githubusercontent.com/22377348/244058218-3018b032-70fe-48a5-abba-c11148800387.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTkxMjI5MDksIm5iZiI6MTcxOTEyMjYwOSwicGF0aCI6Ii8yMjM3NzM0OC8yNDQwNTgyMTgtMzAxOGIwMzItNzBmZS00OGE1LWFiYmEtYzExMTQ4ODAwMzg3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjIzVDA2MDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWRiODA1Mzk2OTU1Y2NkM2QxMjJjZDY4ZDY0YTE4NzY0YmEzOWZlZDc4Y2U4MmIzZDgyNTEyYTA5OTczNzFiNGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.BJ86lw3apDcK7TWs3LSAqbaD8SyK_vDzugywV7Haku8)
![Screenshot 2023-06-07 at 4 47 22 PM](https://private-user-images.githubusercontent.com/22377348/244058256-50f5f803-7d45-4dd8-af74-5d888d6b6184.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTkxMjI5MDksIm5iZiI6MTcxOTEyMjYwOSwicGF0aCI6Ii8yMjM3NzM0OC8yNDQwNTgyNTYtNTBmNWY4MDMtN2Q0NS00ZGQ4LWFmNzQtNWQ4ODhkNmI2MTg0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjIzVDA2MDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTkzOTJkNDNjYjNkZjUyYzgxNWM4YmE0YzEyMTYxNWQyYTc3NmZlMWU3MDg2NTRmMTVkOWY5MzA4YzYyNjgwMmMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.DpbHjxus13LX7oHi0wOOeg8RMXkCEG4gRSINUBjE3jc)
![Screenshot 2023-06-07 at 4 47 55 PM](https://private-user-images.githubusercontent.com/22377348/244058276-cb3a4611-b0b6-4c67-b953-2e812f472f63.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTkxMjI5MDksIm5iZiI6MTcxOTEyMjYwOSwicGF0aCI6Ii8yMjM3NzM0OC8yNDQwNTgyNzYtY2IzYTQ2MTEtYjBiNi00YzY3LWI5NTMtMmU4MTJmNDcyZjYzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MjMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjIzVDA2MDMyOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTM1YTUyYTBkMmRhMjdjYzhmZDdiYzkzNWEwNzZhYTMwYjE4MDEyYWYxZjQ0ZWIyM2QxNmQ5NDY3Y2VhN2I4ZDUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.WEQfREW0mEWJX7iKvxjBTyD8Qo6dGfJ7-tgIiaDzJ5Q)
#Dashboard Demo Video: (URL:https://github.com/thafsi-pv/MovieDashboard/assets/22377348/35278937-7a2d-47a9-9a26-9ecda3ed4506)
#Pagination, filter, forgot password Demo video: https://github.com/thafsi-pv/MERN-APP1/assets/22377348/ceefeec9-547e-474b-a847-72b9d93b8b66
#Notification for user (New movie add or edit) Demo video: https://github.com/thafsi-pv/MERN-APP1/assets/22377348/060ac2f0-05a7-44af-b2b6-635a902b7019
This is a full-stack movie app built with the MERN stack and developed using the MVC architecture. It features a movie dashboard where users can add new movies to the app and manage their movie collection, as well as a user page that allows users to manage their watch later list. The app also includes functionality to reset user passwords via email.
- Add new movies to the app from the dashboard
- Add new genres to the app from the dashboard
- List all added movies with name, image (served via the Cloudinary CDN), star rating, and genre
- Edit or delete movies and genres from the dashboard
- Add movies to the user's watch later list
- Pagination with custom hook (usePagination)
- Filter movies by multi select genre and star rating
- Notification for user while admin add or edit new movie
- Refresh movie list automatically if any change in movie data
- Authentication using JWT, bcrypt, and custom middleware
- Password reset functionality via email using Nodemailer
- Frontend developed with React using JSX, components, state, and custom hooks
- Styling was done with Tailwind CSS framework
- Backend API developed with Node.js and Express, and data stored in MongoDB using Mongoose
- CORS implemented across the frontend and backend using Axios
- React
- Node.js
- Express
- MongoDB / Mongoose
- Cloudinary
- Nodemailer
- SSE (Server Side Event)
- JWT
- Bcrypt
- Axios
- Cors
- Tailwind CSS
- React hot toast