Reeltime is a full-stack MERN (MongoDB, Express.js, React.js, Node.js) movie application that allows users to explore movies, add them to watchlists, favorites, and watched lists, and watch trailers.
- User Authentication: Sign up, log in, and token-based authentication.
- Movie Management: Users can add movies, and those marked as
suggestedToAll
will appear in the public movie list. - Watchlist & Favorites: Users can add movies to their personal watchlist, favorites, and watched lists.
- Movie Trailers: Each movie entry can include a trailer.
- Admin Features: Only admins can edit movie details.
- Responsive UI: Fully styled and optimized for different screen sizes.
- React.js
- React Router
- Context API (AuthContext)
- CSS for styling
- Node.js
- Express.js
- MongoDB with Mongoose
- JWT for authentication
- Node.js installed
- MongoDB running locally or using a cloud database
-
Clone the repository:
git clone https://github.com/your-username/reeltime.git cd reeltime
-
Install dependencies:
npm install cd client npm install
-
Set up environment variables:
- Create a
.env
file in the root directory and add:MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_secret_key
- Create a
-
Run the backend server:
npm run server
-
Run the frontend:
cd client npm start
-
Open the app in your browser:
http://localhost:3000
POST /api/auth/signup
- Register a new userPOST /api/auth/login
- Log in and get a JWT token
GET /api/movies
- Get all moviesPOST /api/movies
- Add a new movie (Admin only)PUT /api/movies/:id
- Edit movie details (Admin only)
POST /api/watchlist
- Add movie to watchlistPOST /api/favorites
- Add movie to favorites
- Movie ratings and reviews
- Social features like sharing watchlists
- Enhanced UI with animations
This project is licensed under the MIT License.
For any issues, feel free to create an issue or contact gowribaggiyam@gmail.com