From c4301a351f3066188687394b3098f3d8450e4de1 Mon Sep 17 00:00:00 2001 From: Mikhail Deriabin <47395053+MikhailDeriabin@users.noreply.github.com> Date: Wed, 25 Dec 2024 14:56:41 +0200 Subject: [PATCH] add release notes for release-23-12-2024 --- doc/release-notes/release-23-12-2024.md | 146 ++++++++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 doc/release-notes/release-23-12-2024.md diff --git a/doc/release-notes/release-23-12-2024.md b/doc/release-notes/release-23-12-2024.md new file mode 100644 index 00000000..946e489e --- /dev/null +++ b/doc/release-notes/release-23-12-2024.md @@ -0,0 +1,146 @@ +## List of changes + +### New features: + +- Flea market +- Voting +- Logged-in user info retrieval + +### Changes to existing features: + +- SoulHome and Stock default items +- Bug with /playerTasks not returning player tasks +- Bug with /leaderboard required authentication + +### Other internal API changes + +- Test coverage improvement +- API code architecture documentation + + +## Links + +[Swagger file](https://github.com/Alt-Org/Altzone-Server/blob/dev/swagger/releases/23-12-2024-release.json) + +[Release](https://devapi.altzone.fi/latest-release/) address: _https://devapi.altzone.fi/latest-release/_ + + +## Contributors + +- @PlayJeri +- @MikhailDeriabin + + +## Detailed descriptions of changes + +### Flea market + +_/fleaMarket_ endpoint for game shop operations. + +- _/fleaMarket_ and _/fleaMarket/:_id_ GET: get all flea market items available or info about specific one +- _/fleaMarket/buy_ POST: buy an item from the flea market for the logged-in user clan = move an item from market to stock. + Notice, that it will start the voting process between the clan members, since the money spent on the item are common for all clan members. + There are no restrictions of who can buy an item, as long as this player is within some clan. + The min acceptance percent for an item to be purchased is 51. + Here is the process diagram of the [buying process](https://github.com/Alt-Org/Altzone-Server/blob/dev/doc/img/flea_market/flea_market_items.svg) and here is the diagram of [voting process](https://github.com/Alt-Org/Altzone-Server/blob/dev/doc/img/voting/voting.svg). +- _/fleaMarket/sell_ POST: sell an item from the flea market for the logged-in user clan = move item from stock to flea market. + Notice, that it will start the voting process between the clan members, since the item is common for all clan members. + There are no restrictions of who can sell an item, as long as this player is within some clan. + The min acceptance percent for an item to be sold is 51. + Here is the process diagram of the [selling process](https://github.com/Alt-Org/Altzone-Server/blob/dev/doc/img/flea_market/flea_market_items.svg) and here is the diagram of [voting process](https://github.com/Alt-Org/Altzone-Server/blob/dev/doc/img/voting/voting.svg). + +### Voting + +_/voting_ endpoint for in-game votings. + +- _/voting_ and _/voting/:_id_ GET: get info about logged-in player votings, where he/she can participate/participated. +- _/voting_ PUT: send a vote of the logged.in player + +Notice that in order to get hot updates of the ongoing voting(s) a MQTT protocol must be used. Topics for voting updates are: + - /clan/{clan_id}/voting/# for all clan votings + - /clan/{clan_id}/voting/{voting_id} for a particular voting + +More about voting logic [here](https://github.com/Alt-Org/Altzone-Server/blob/dev/doc/img/voting/voting.svg). + +More about topics structure [here](https://github.com/Alt-Org/Altzone-Server/blob/dev/doc/img/notifications/mqtt_notifications_mechanism.svg). + +### Logged-in user info retrieval + +As it was requested for a long time the endpoint, _/profile/info_ GET, for retrieving data of the logged-in user is added. + +It returns profile, player and clan data of the logged-in user. + +### SoulHome and Stock default items + +The default items given to new clans are now changed. + +For the stock they are: + +```ts +[ + { + unityKey: ItemName.SOFA_RAKKAUS, + ... + }, + { + + unityKey: ItemName.ARMCHAIR_RAKKAUS, + ... + }, + { + unityKey: ItemName.FLOORLAMP_RAKKAUS, + ... + }, + { + unityKey: ItemName.DININGTABLE_RAKKAUS, + ... + }, + { + unityKey: ItemName.SOFATABLE_RAKKAUS, + ... + }, + { + unityKey: ItemName.BED_RAKKAUS, + ... + } +] +``` + +For the SoulHome they are: + +```ts +[ + { + unityKey: ItemName.CARPET_RAKKAUS, + ... + }, + { + unityKey: ItemName.MIRROR_RAKKAUS, + ... + }, + { + unityKey: ItemName.CLOSET_RAKKAUS, + ... + } +] +``` + +### Bug with /playerTasks not returning player tasks + +The bug, appeared when a player requests tasks for the first time and 404 was returned, is now fixed. + +### Bug with /leaderboard required authentication + +Removed mandatory authentication for all _leaderboard_ GET endpoints. + +### Test coverage improvement + +Improved test coverage for the following modules: + +- profile +- common +- player + +### API code architecture documentation + +API code architecture now can be found [here](https://github.com/Alt-Org/Altzone-Server/blob/dev/doc/img/architecture/api_modules.svg). \ No newline at end of file