jensbuehl / aoe4-guides

Source code for aoe4guides.com: Yet another Age of Empires IV build order tool
https://aoe4guides.com
MIT License
17 stars 6 forks source link

Add REST API #79

Closed BjornTheProgrammer closed 7 months ago

BjornTheProgrammer commented 10 months ago

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.

jensbuehl commented 10 months ago

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

BjornTheProgrammer commented 10 months ago

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

jensbuehl commented 10 months ago

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:

jensbuehl commented 7 months ago

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/

jensbuehl commented 7 months ago

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

BjornTheProgrammer commented 7 months ago

@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.