Skip to content

Commit

Permalink
add release notes for release-23-12-2024
Browse files Browse the repository at this point in the history
  • Loading branch information
MikhailDeriabin committed Dec 25, 2024
1 parent 8a9ba6d commit c4301a3
Showing 1 changed file with 146 additions and 0 deletions.
146 changes: 146 additions & 0 deletions doc/release-notes/release-23-12-2024.md
Original file line number Diff line number Diff line change
@@ -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).

0 comments on commit c4301a3

Please sign in to comment.