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
[x] Bug fix (non-breaking change which fixes an issue)
[x] Refractor (non-breaking change which cleans up code)
[x] New feature (non-breaking change which adds functionality)
Checklist
[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules
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 newdatabase
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