Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cnad-io/wsao-1-back
Backend demo para Webinar - Starting with Apps in Openshift.
https://github.com/cnad-io/wsao-1-back
fastify nodejs rest-api socket-io websocket
Last synced: about 1 month ago
JSON representation
Backend demo para Webinar - Starting with Apps in Openshift.
- Host: GitHub
- URL: https://github.com/cnad-io/wsao-1-back
- Owner: cnad-io
- License: isc
- Created: 2019-04-08T19:20:41.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-11-23T15:56:23.000Z (about 2 years ago)
- Last Synced: 2023-03-10T18:11:23.547Z (almost 2 years ago)
- Topics: fastify, nodejs, rest-api, socket-io, websocket
- Language: JavaScript
- Size: 632 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 25
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Webinar - Starting with Apps in Openshift
## Backend
Conjunto de servicios que comunican el Front con la capa de datos. Consiste en 3 servicios:
- **User Management:** permite administrar usuarios y su historial. Servicio tipo REST.
- **Waiting Room:** permite gestionar el inicio de un Game Room, espera la llegada de un mínimo de jugadores para generar la sesión y dar inicio al juego. Servicio de tipo Websocket.
- **Game Room:** permite gestionar un Game Room, ya sea crearlo, mantener el estado, pausarlo y terminarlo. Servicio de tipo Websocket.## Arquitectura
![Arquitectura](assets/architecture.png)
## Definición de I/O por backend
### User Management
Para ver la especificación Open API ejecutar el paso a paso desde la documentación del [servicio](./user-management/README.md).
### Waiting Room
#### Join to game
Descripción: TODO.
Input:
```json
{
"method": "",
"token": "1i2uy2u4y23iu4y",
"client_version": 1
}
```Output:
```json
{
"state": "activated"
}
```#### Game Room Assign
Descripción: TODO.
Output:
```json
{
"state": "started",
"game_room_token": "1i2uy2u4y23iu4y"
}
```### Game Room
#### Join to room
Descripción: TODO.
Input:
```json
{
"method": "",
"token": "1i2uy2u4y23iu4y",
"game_room_token": "1i2uy2u4y23iu4y",
"client_version": 1
}
```Output:
```json
{
"state": "activated"
}
```#### Stage
Descripción: TODO.
Output:
```json
{
"method": "",
"timestamp": 15639034985098,
"players": [
{
"nickname": "username",
"pos_x": 123.5,
"pos_y": -71.1,
"shape": "monster"
}
]
}
```#### KeyStroke
Descripción: TODO.
Input:
```json
{
"method": "",
"token": "",
"game_room_token": "",
"keycode": "",
"client_version": 1
}
```