
A quick description of the service, what it used for, a list of user stories that will be needed based on game design document
DLC management allows game admin to freely manage the additional assets (DLC) and allows game client to get the download links.
How:
Read through the GDD and try to determine the following information:
Rules of thumb:

Data constraints:
Action constraints:
For each feature, we need to provide list of use stories
Then, draw 2 usecase diagrams, 1 for CMS and the other for Game.
Rules of thumb:
What should be discussed during Usecase review?
The assignee should be able to answer the following questions:



| # | Database | Collections | Description |
| 1 | dlc | dlc_item | • id: uuid • code: string • version: number • size_in_bytes: number • download_url: string • expiration_date: nu |
| 1 | internal/v1/items | Upload Item | POST | BODY: file: binary string group: string code: string version?: number isPublic: boolean | CODE: 200 BODY:{ "url": "string", "pathName": "string"} |
Each use case / user story can have its own diagram or grouped in one diagram


Does this service require any other service / internal call?
DLC is used for game setting, single page application, time-limited event and any other service that require to upload file to store in the backend
You need to outline all the test cases, unit test, performance test, integration test and their results
| TEST GROUP/NAME | REQUIREMENT | RELATED DIAGRAM/FLOW/API/CODE FUNCTION | TEST SAMPLE | EXPECTED RESULT | RESULT |
| E2E | |||||
| healthcheck-01 | The API healthcheck must return the version as text | GET /dlc/healthcheck | N/A | Response body is the content of file ./version | Success on Attached file / screenshots |
| Unit Test | |||||
| game-download-asset | Downloads item with a valid access token and gets the latest version | ItemApiController.downloadItems | • Input: {"code": "utest000000","version": 2} | • Response:Status Code: 302 Response Header:Location: url (the url to which the client is redirected) | Success on Attached file / screenshots |
| Downloads item with a valid access token and gets a specific version | • Input: {"code": "utest000000","version": 1} | • Response:Status Code: 302 Response Header:Location: url (the url to which the client is redirected) | Success on Attached file / screenshots | ||
| Download the item with the invalid access token | • Input: {"code": "utest000000"} | • Response: To throw AccessTokenUnauthorized | Success on Attached file / screenshots | ||
| Download Items that do not exist | • Input: {"code": "utest000001"} | • Response:To throw ItemNotFoundError | Success on Attached file / screenshots | ||
| Download item that expires | • Input: {"code": "utest000002", "expiredAt": now} | • Response:Status Code: 302 Response Header:Location: url (the url to which the client is redirected) | Success on Attached file / screenshots |
You need to answer these questions and outline here:
You need to answer these questions and outline here:
| Endpoint | Access | Authorization |
| /internal/* | service 2 service | api key |
| /cms/* | internet with whitelist IPs | cms user access token |
| /api/* | internet | user access token |
Provide the list of all global variables, API key of 3rd party provider, secrets for DevOps to setup in the pipeline

In the world of multiplayer game development, having a robust and scalable game server is crucial for delivering a seamless gaming experience to players. In this blog post, we'll dive into Colyseus, a powerful framework for building game servers, and explore its features, benefits, and how it can improve team performance. We'll also take a closer look at the Colyseus playground and its role in game server development.
Beiryu
Contributor

Hey there, programming students! Job hunting can be a real grind, right? But don't sweat it, if you go about it the right way, you can totally ace it and land a cool gig at a groovy programming company. Just do your homework about the company, spruce up that CV and portfolio of yours, and practice your interview skills. Remember, every step counts towards reaching that dream job of yours.
Beiryu
Contributor