Add readme of features and communication in back

This commit is contained in:
gparant 2020-04-04 22:43:07 +02:00
parent fbcb48f9ad
commit 1100edecb7
3 changed files with 65 additions and 1 deletions

View File

@ -94,3 +94,6 @@ Vagrant destroy
* `Vagrant ssh`: connect on your VM Vagrant. * `Vagrant ssh`: connect on your VM Vagrant.
* `Vagrant halt`: stop your VM Vagrant. * `Vagrant halt`: stop your VM Vagrant.
* `Vagrant destroy`: delete your VM Vagrant. * `Vagrant destroy`: delete your VM Vagrant.
## Features developed
You have more details of features developed in back [README.md](./back/README.md).

61
back/README.md Normal file
View File

@ -0,0 +1,61 @@
# Back Features
## Login
To start your game, you must authenticate on the server back.
When you are authenticated, the back server return token and rooms started.
```
POST => /login
Params :
email: email of user.
```
## Join a room
When a user is connected, the user can join a room.
So you must send emit `join-room` with information user:
```
Socket.io => 'join-room'
userId: user id of gamer
roomId: room id when user enter in game
position: {
x: position x on map
y: position y on map
}
```
All data users are stocked on socket client.
## Send position user
When user move on the map, you can share new position on back with event `user-position`.
The information sent:
```
Socket.io => 'user-position'
userId: user id of gamer
roomId: room id when user enter in game
position: {
x: position x on map
y: position y on map
}
```
All data users are updated on socket client.
## Receive positions of all users
The application sends position of all users in each room in every few 10 milliseconds.
The data will pushed on event `user-position`:
```
Socket.io => 'user-position'
[
{
userId: user id of gamer
roomId: room id when user enter in game
position: {
x: position x on map
y: position y on map
}
},
...
]
```
[<<< back](../README.md)

View File

@ -22,7 +22,7 @@ export class Point implements PointInterface{
} }
export class MessageUserPosition extends Message{ export class MessageUserPosition extends Message{
position: PointInterface position: PointInterface;
constructor(message: string) { constructor(message: string) {
super(message); super(message);