hellhub-collective / api

Effortlessly use Helldivers 2 data in your apps, with the democratically approved HellHub API. 🌎
https://documenter.getpostman.com/view/33840175/2sA35Bd54w
MIT License
18 stars 2 forks source link

chore(release): prepare source code for version 3.0.0 #58

Closed fabio-nettis closed 4 months ago

fabio-nettis commented 4 months ago

Description

This PR contains all preperations for the new major V3 release. Following changes have been made in an effort to improve the api performance due to a noticable increase in traffic.

Overhauled docker build process 🐳

We modified the dockerfile to not only be much more readable but also to speed up build times by almost 50%. We moved the database location to the project root so we can create more database files as needed.

Fortified data refreshing ⏬

In an effort to make the data refreshing mechanism more reliable we refractored it to be a single transaction instead of many independent queries, this not only speeds up the process by about 200ms but also ensures that all data is available and intact when saved to the database.

SQLite based middleware 🐦

The rate limiting and request caching mechanisms now use SQLite as their storage startegy. This change was made in an effort to reduce the memory consumption. The main database as well as the new cache.db database files are located in the new database folder inside the project' root.

Reliable dates are a thing πŸ“…

About time! With the help of the amazing Helldivers 2 Community we have figured out how to parse dates produced by the Arrowhead Game API and now provide accurate dates for Reports, Orders and every other content-type that has an in-game date.

Type of change

Checklist

sentry-io[bot] commented 4 months ago

Suspect Issues

This pull request was deployed and Sentry observed the following issues:

Did you find this useful? React with a πŸ‘ or πŸ‘Ž