Movie tracking websites like IMDb and Letterboxd already exist. However, everyone has their preferences and there were still things that I didn't like that ultimately drove me to create my own web application:
-
Track, rate, and see films all in one place for personal use – While a community is important in many places, most days I just want the simple functionality of seeing what shows I've watched and what shows I bookmarked.
-
Letterboxd doesn't include TV shows in their database – This can be frustrating for some users if they want to keep all their favorite TV shows and movies in one place.
-
Both IMDb and Letterboxd only allow user ratings in half integer (star) increments – I personally found this to be very limiting as it paints a very black and white picture that isn't quite accurate in my opinion.
Also, building a fullstack CRUD app like TCDb is a great way to learn, practice, and demonstrate my skills 😊
Try it out here using this link or this one: https://thecinemadb.netlify.app/.
Please do create an account (or use the provided login details) and try out the app for yourself!
Email: test@test.com
Password: testing123
(↑)
- ❤️ All in one place to track, log, and rate both movies and shows
- ⭐ Bookmark movies to watch later
- 📱 Responsive design for both mobile and desktop
- 💻 Simple, functional, and modern UI
- 😲 Ability to provide ratings to 1 decimal place (crazy, I know!)
- Install npm
npm install npm@latest -g- Clone the repo
git clone https://github.com/klzheng/TCDb.git- Navigate inside the frontend directory and install dependencies
cd frontend/
npm install- Start the server
npm run start- Navigate to the backend, install dependencies, and run server locally
cd ..
cd backend/
npm install
npm run start- Make sure all environment variables are accounted for!
-
Create a MongoDb Database Access account (if it doesn't already exist), and place credentials in .env file (Refer to next section)
-
Create TMDb account store API key in .env file
-
Create Google Cloud Platform Account and connect it to nodemailer
- Refer to this useful guide from freeCodeCamp.
To run this project, you will need to add the following environment variables to your .env file:
-
Backend
MONGO_DB_USERNAMEMONGO_DB_PASSWORDJWT_SECRETPORTTCDB_MAIL_USERTCDB_MAIL_PASSOAUTH_CLIENTIDOAUTH_CLIENT_SECRETOAUTH_REFRESH_TOKEN -
Frontend
REACT_APP_TMDB_API_KEYREACT_APP_BASE_URL
- Adding transitions/animation to movie cards (filtering/sorting)
- Add light mode
(↑)
