The project is a web application for tracking TV series. It allows users to register, search for series, view series details, track watched episodes, and manage their profiles.
- Express.js
- MongoDB
- Mongoose
- Passport.js
- HTML/CSS
- JavaScript
The project offers the following features:
- The homepage displays a collection of TV series.
- Users can view series details by clicking on a series card.
- Users can search for TV series by name.
- The search function performs a case-insensitive search and displays the search results.
- Users can register by providing their name, username, email, and password.
- Passwords are securely hashed using bcrypt before being stored.
- Registered users can log in and log out of the application.
- Each user has a profile page that displays their username and tracked series.
- Users can track and untrack series, marking episodes as watched or unwatched.
- The profile page also shows the total number of tracked series and watched episodes.
- The API provides endpoints for accessing TV series information and user details.
- The API allows authenticated users to retrieve specific series information and user profiles.
The project has accomplished the following:
- Implemented user registration and authentication using Passport.js with a local strategy.
- Developed routes for rendering the homepage, performing searches, and managing user registration and authentication.
- Created views for displaying TV series, series details, user profiles, registration, and login pages.
- Implemented tracking of TV series and watched episodes for each user.
- Integrated flash messages to provide feedback during the registration and login processes.
- Configured an API to retrieve series information and user details.
docker build -t yourusername/tv-series-tracker .
docker run -p 49160:3000 --rm -d yourusername/tv-series-tracker
Now the application is running on http://localhost:49160/