Add readme of features and communication in back
authorgparant <g.parant@thecodingmachine.com>
Sat, 4 Apr 2020 20:43:07 +0000 (22:43 +0200)
committergparant <g.parant@thecodingmachine.com>
Sat, 4 Apr 2020 20:43:07 +0000 (22:43 +0200)
README.md
back/README.md [new file with mode: 0644]
back/src/Model/Websocket/MessageUserPosition.ts

index 61ee39f08ae8a847cba08cba73be7bcb5f34b7e0..9c9a110a61d719aca4f8580143e70541421df579 100644 (file)
--- a/README.md
+++ b/README.md
@@ -94,3 +94,6 @@ Vagrant destroy
 * `Vagrant ssh`: connect on your VM Vagrant.
 * `Vagrant halt`: stop 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).
\ No newline at end of file
diff --git a/back/README.md b/back/README.md
new file mode 100644 (file)
index 0000000..12a9fca
--- /dev/null
@@ -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) 
\ No newline at end of file
index 731d60ffa56097905c8e5a63d474d3060b910c70..b5aeaee5fcaace131a8c5dcf91b3aa88d22c28bc 100644 (file)
@@ -22,7 +22,7 @@ export class Point implements PointInterface{
 }
 
 export class MessageUserPosition extends Message{
-    position: PointInterface
+    position: PointInterface;
 
     constructor(message: string) {
         super(message);