A full-stack MERN (MongoDB, Express.js, React, Node.js) web application for managing and exploring movies. Features include user authentication, movie search, ratings, and reviews.
- MERN Stack (MongoDB, Express.js, React, Node.js)
- REST API
- Material-UI
- User Authentication
- Movie Database Management
A full-stack MERN (MongoDB, Express.js, React, Node.js) application for managing movies with user authentication and movie management features.
- Node.js with Express.js
- MongoDB with Mongoose
- JWT for authentication
- Multer for file uploads
- CORS for cross-origin resource sharing
- bcryptjs for password hashing
- React 19 with TypeScript
- Vite as build tool
- Redux Toolkit for state management
- React Router v7 for routing
- TailwindCSS for styling
- React Toastify for notifications
- React Icons
Movie_MERN/
├── backend/
│ ├── config/ # Database configuration
│ ├── routes/ # API routes
│ │ ├── user.routes.js
│ │ ├── genre.routes.js
│ │ ├── movie.routes.js
│ │ └── upload.routes.js
│ └── index.js # Main server file
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ └── store/ # Redux store
│ └── package.json
└── package.json
-
Clone the repository
-
Install dependencies:
npm install cd frontend && npm install
-
Create a
.envfile in the root directory with:PORT=3000 MONGODB_URI=your_mongodb_uri JWT_SECRET=your_jwt_secret -
Start the development server:
npm run fullstack
This will start both backend (port 3000) and frontend (port 5173) concurrently.
npm run fullstack: Runs both frontend and backendnpm run backend: Runs the backend servernpm run frontend: Runs the frontend development server
/api/v1/user- User authentication and management/api/v1/genre- Movie genre operations/api/v1/movie- Movie CRUD operations/api/v1/upload- File upload handling
- User authentication (login/register)
- Movie management (CRUD operations)
- Genre management
- File upload support for movie posters
- Responsive design with TailwindCSS
- Fork the repository
- Create your feature branch:
git checkout -b feature/YourFeature - Commit your changes:
git commit -m 'Add YourFeature' - Push to the branch:
git push origin feature/YourFeature - Submit a pull request
This project is licensed under the ISC License.
