jensbuehl / aoe4-guides

Source code for aoe4guides.com: Yet another Age of Empires IV build order tool

Home Page:https://aoe4guides.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add REST API

BjornTheProgrammer opened this issue · comments

Hello,

I wish to use the build order data from this project to create an aoe4 mod that allows people to practice build orders in a game. However, I am unfortunately not familiar with Firebase. Would you be willing to add a REST API that allows people to get data from the website easily?

Awesome project btw.

commented

Hey, neat idea.
Unfortunately, not possible in the short term. No time due to family business. ;)

Would you be fine with me making a pull request adding this functionality?

commented

I would be happy to test and review.
Should be pretty easy. (https://blog.logrocket.com/building-rest-api-firebase-cloud-functions-typescript-firestore/)

However, I am a bit hesitant. Since the traffic exploded recently (and also the costs - it's no longer free tier), I am not eager adding more cloud functions that add more on top and open it up to an even broader audience. We could give it a try and check the impact.

Might need refinement, though.
I have no experience in designing REST APIs.

Ideas that popped up in my head:

  • use the overlay tool json format as common denominator
  • make sure the images use markup and are resolved locally (I cannot afford more image download traffic)
  • prevent downloading all BOs, limit it reasonably since every BO request is a Firbase read action
commented

Hi @BjornTheProgrammer
I have created a separate repository for the API project: https://github.com/jensbuehl/aoe4-guides-api
Hello world example is live

Due to busy times I cannot push it in the short term but whenever I find time I might look into it.

Since I moved the aoe4guides hoster, I could cut the costs which allows for some more experiments on gcloud. The test project is deployed on "google cloud run".

Edit: api proposal (wip)
https://aoe4-guides-api-qq36r4yzha-ey.a.run.app/api-docs/

commented

v1 published and ready for testing and integration.
https://aoe4guides.com/api/api-docs/

@jensbuehl I'll write an issue on the new repository when I have some time about some proposals for the API. Thank you so much for the project! I wasn't experienced enough with firebase to create a mirrored project to test on to create this.