Anitrack is an anime tracking website, where you can browse anime by different criteria and view information about them. By logging in, you can add them to your watch list.
- Clone the repository
- Install Node.js for your system
- Install packages using 'npm install' in the directory
- Create an Atlas account, create a MongoDB database for this project
- Make a 'config.env' file with
PORT=3000, //or any port number of your choice session_secret="random_string", MongoURI="your MongoDB URL" // atlas should give you that
- Install redis and start the redis server. If you're on Windows, install WSL and install redis in that
- Run 'npm start' to start the main server
I've used the Jikan API to retrieve anime related information, a nice free API that scrapes information from MyAnimeList. To prevent overloading the API with requests, I've used Redis to cache the JSON responses from it, so there needs to be a Redis server running in a Linux/Mac environmment in the background. There's a manual delay of 2 seconds set before each API call.
For the project, I tried to follow the MVC architecture to the best of my understanding.
- JavaScript, Node.js
- ExpressJS
- MongoDB
- Bootstrap, EJS (templating engine)/CSS
- Redis