Seperated concrete database implementation classes from api methods to seperate classes in database/handlers
Added much more unit tests, and made the pipeline run all unit tests
Added methods to help with unit tests like /api/get-user-stats
Changed
Switched to Firebase Firestore instead of Firebase Database to allow referencing data, not just embedding - leading to greater scaliability
Changed frontend to interact with the new database
Removed
Deprecated /api/calculate-card-stats - this will now be done by the client to improve speed
Deprecated /api/get-weekly-xp and /api/get-total-xp - the frontend calculates them at the same time, so it makes sense to use /api/get-user-stats to pull this data instead
Pull Requestor Checklist
[x] Does backend/database/database_config.py have the type of production?
[x] Does frontend/src/api/config.js have the correct server url, reading from the deployed instance at http://dolphinflashcards.com/api/?
[x] If not merging development to main, is the MR title prefixed with MAJOR, MINOR or PATCH?
Database Refactor
Description
3.0.0 - 2024-06-05
Added
database/handlers
Changed
Removed
Pull Requestor Checklist
backend/database/database_config.py
have the type ofproduction
?frontend/src/api/config.js
have the correct server url, reading from the deployed instance athttp://dolphinflashcards.com/api/
?development
tomain
, is the MR title prefixed withMAJOR
,MINOR
orPATCH
?backend/__init__.py
been updated with the relevant version, following the semantic versioning standardCHANGELOG.md
been updated to explain the new version?