/Anitrack

A website to view all anime by seasons and different search criteria, and add to a watch list to keep track of them.

Primary LanguageEJSGNU General Public License v3.0GPL-3.0

AniTrack

image.png 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.

Setup Instructions

  1. Clone the repository
  2. Install Node.js for your system
  3. Install packages using 'npm install' in the directory
  4. Create an Atlas account, create a MongoDB database for this project
  5. 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
    
  6. Install redis and start the redis server. If you're on Windows, install WSL and install redis in that
  7. Run 'npm start' to start the main server

Development

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.

Tools used

  • JavaScript, Node.js
  • ExpressJS
  • MongoDB
  • Bootstrap, EJS (templating engine)/CSS
  • Redis