workadventure/back
Piotr Dobrowolski 33b9bd773f *: Dockerfiles cleanup, docker-compose.prod.yaml
New docker-compose.prod.yaml should provide a production-ish deployment
of WorkAdventure
2021-01-12 22:32:37 +01:00
..
src Making HTTP and GRPC ports configurable in API server 2020-12-14 22:43:05 +01:00
tests Fixing unit tests in back 2020-12-08 18:37:15 +01:00
.dockerignore Fixing Dockerfiles 2020-04-11 15:11:22 +02:00
.eslintrc.json Enabling stricter lint: forbidding usage of any 2020-06-09 15:51:14 +02:00
.gitignore Add io socket message to share user position. 2020-04-04 12:42:02 +02:00
Dockerfile *: Dockerfiles cleanup, docker-compose.prod.yaml 2021-01-12 22:32:37 +01:00
jasmine.json added jasmine in the back 2020-04-06 15:48:19 +02:00
LICENSE.txt Changing license to AGPL + Commons Clause 2020-06-09 10:17:21 +02:00
package.json Bump axios from 0.20.0 to 0.21.1 in /back 2021-01-06 14:41:45 +00:00
README.md Fix typo 2020-04-04 23:29:36 +02:00
server.ts Making HTTP and GRPC ports configurable in API server 2020-12-14 22:43:05 +01:00
tsconfig.json Merge branch 'develop' of github.com:thecodingmachine/workadventure into feature/global-message 2020-10-01 14:11:34 +02:00
yarn.lock Bump axios from 0.20.0 to 0.21.1 in /back 2021-01-06 14:41:45 +00:00

Back Features

Login

To start your game, you must authenticate on the server back. When you are authenticated, the back server return token and room starting.

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