Skip to content

A RESTful API for @AzurAPI/azurapi-js-setup (Azur Lane)

License

Notifications You must be signed in to change notification settings

shipgirlproject/Formidable

Repository files navigation

Formidable

An azurlane data manager that updates / safekeeps your data as needed!

Why? I usually take the microservice-ed approach on some of my apis so if things go down, I can fix those without needing to touch the main data consumers

Features

  • Speedy
  • Reliable
  • Simple
  • Built-in Ratelimits
  • Automated Data Maintenance
  • Supported Data: Ship, Equipments, Barrages, Chapters and VoiceLines

API

Test Node: https://formidable.herokuapp.com/

Prod Node: https://formidable.kashima.moe/

Self host?

  • Install Node.JS >=14.0.0
  • Download the Repo
  • Do npm i
  • Put port and auth in the config.json, or use the env PORT or AUTHORIZATION
  • Do npm run dev for testing, npm start for prod

Support

🔗 https://discord.com/invite/FVqbtGu (#development)

🔗 https://discord.com/invite/aAEdys8 (#support)

API Ratelimits

Global Default 404
100req / 5s 50req / 5s 5req / 5s

The Default ratelimit is based on per endpoint, the endpoint can have it's own ratelimit, or use the default one. Refer to the endpoints documentation below

Endpoints

The endpoints actually format the JSON response data so you can actually read it at your browser

Ships

Endpoint Ratelimit Return Data Description
GET /ships/class?name=Iowa 50req / 5s Object[] List all the ships that has this class
GET /ships/hull?name=Battleship 50req / 5s Object[] List all the ships that has this hull type
GET /ships/id?code=147 50req / 5s Object Gets the ship with this ID
GET /ships/nationality?name=Sakura%20Empire 50req / 5s Object[] List all the ships that has this nationality
GET /ships/rarity?name=Super%20Rare 50req / 5s Object[] List all the ships that has this rarity
GET /ships/random 50req / 5s Object[] List all the ships that has this rarity
GET /ships/search?name=Formidable 25req / 5s Object[] Searches for the ship of your choice

Equipments

Endpoint Ratelimit Return Data Description
GET /equipments/category?name=Destroyer%20Guns 50req / 5s Object[] List all the equipments that is in this category
GET /equipments/nationality?name=Sakura%20Empire 50req / 5s Object[] List all the equipments that has this nationality
GET /equipments/search?name=Twin%20410mm 25req / 5s Object[] Searches for the equip of your choice

Chapters

Endpoint Ratelimit Return Data Description
GET /chapters/search?name=6-4 25req / 5s Object Searches for the chapter via it's code or name

Barrages

Endpoint Ratelimit Return Data Description
GET /barrages/search?name=Ayanami 25req / 5s Object Searches a ship barrage via it's name

Voice Lines

Endpoint Ratelimit Return Data Description
GET /voicelines/ship?id=147 50req / 5s Object Gets the voice lines on a ship via it's ID

Data Version

Endpoint Ratelimit Return Data Description
GET /version 50req / 5s Object Gets the current data version of Formidable

Data Update

Endpoint Ratelimit Headers Return Data Description
POST /update 1req / 120s {"authorization": "your config auth"} String ("Data is up to date!" or "Not up to date, data updated!") Force updates the local data and updates the cache

Status

Endpoint Ratelimit Return Data Description
GET /status 50req / 5s Object Gets some metrics from Formidable

Made with ❤ by @Sāya#0113