π AniTrack - A MyAnimeList CLI Client
A command line client built with Go that interfaces MyAnimeList API for viewing top anime, anime details, updating user's anime lists and more
π Prerequisites
- MyAnimeList Account is required to obtain
ClientId
and ClientSecret
.
π§ Configuration
To get started, you'll need a 'Client ID' and 'Client Secret' from MyAnimeList's API Dashboard:
-
π Navigate to: MyAnimeList API Dashboard
-
πͺ Sign in or create a MyAnimeList account.
-
β Click on 'Create ID'
-
π Fill in the app details like example below.
-
π In the App Redirect URL field of the app you created, please enter the following URLs:
- π
http://localhost:9999/oauth/callback
-
π Once the App is created, you'll find the 'Client ID' and 'Client Secret' on the app details page.
-
π Add Credentials in .env:
- Create a .env file in the root directory of this project and copy these values by adding your MAL client id and client secret.
# MAL
MAL_CLIENT_ID="<CLIENT ID GOES HERE>"
MAL_CLIENT_SECRET="<CLIENT SECRET GOES HERE>"
REDIRECT_URL="http://localhost:9999/oauth/callback"
π« Remember: Keep your 'Client Secret and Client Id' confidential. Never share it! They can be used to control your MyAnimeList data.
π TODO List
- Setup oauth with MyAnimeList API
- Use access token to authenticate User's requests and refresh token when access token expired
- Add methods for calling different API endpoints of MAL
- Integrate Cobra and add CLI commands to use different methods
- Improve UI of the CLI results
π» Local Development
- Install Go version 1.21 or above https://go.dev/
- Clone repo
- Run
go mod tidy
- Follow
Configuration
steps mentioned above
- Now oauth with MyAnimeList can be executed from root directory e.g.
go run main.go
π€ Contributing
Your contributions are welcome! π Feel free to submit pull requests or raise issues.
π License
This project is under the MIT License. Dive into the LICENSE
file for more.