MyAnimeList Manager is a React/Express web application designed to augment the experience on managing your Anime Lists from the MyAnimeList website, removing all the extra fluff from the website and giving you a minimalist interface for updating your lists and search for entries. In addition, the schedule tab shows you all the airing shows on your list, allowing you to keep track of which shows you need to watch and when.
mal-manager-server is the backend of this web application. To view and setup the frontend, please visit https://github.com/MarcusChok110/mal-manager-client.
The live demo of the server is at the following link: https://mal-manager-server.herokuapp.com/
- This is only the API. To view the full application, visit the client page.
Firstly, ensure that you have Node/NPM installed on your system. Then:
- Download the repository
- cd to the directory and
npm installthe dependencies - Ensure you have the following dependencies installed:
"axios"
"base64url"
"cookie-parser"
"cors"
"dotenv"
"express"
"helmet"
"randomstring"
- Obtain an API key from MyAnimeList. More information on that here
- Set up a .env file with the following values:
CLIENT_ID=<YOUR_CLIENT_ID_HERE>
CLIENT_SECRET=<YOUR_CLIENT_SECRET_HERE>
PORT=8888
COOKIE_SECRET=<RANDOMLY_GENERATED_HASH_STRING_HERE>
NODE_ENV=development
- You may have to go to
session.js:63-64and delete the following lines if the cookies aren't being transferred:
sameSite: 'none',
secure: true,
npm startand the server should be up and running on http://localhost:8888 in the browser- Setup the client-side to view the full project on http://localhost:3000
- Adjust routes to be more RESTful
- Refactor cookies to transfer refresh token instead of auth token