Go to file
David Négrier 6540f15c5b
Refactoring Woka management (#1810)
* Wrap websockets with HyperExpress

* Add endpoints on pusher to resolve wokas

* getting textures urls from pusher

* Adding OpenAPI documentation for the pusher.

The pusher now exposes a "/openapi" endpoint and a "/swagger-ui/" endpoint.

* revert FRONT_URL

* playerTextures metadata is being loaded via Phaser.Loader

* fetch textures every time character or customize scene is open

* Heavy changes: refactoring the pusher to always send the textures (and the front to accept them)

* Sending character layer details to admin

* Cleaning commented code

* Fixing regex

* Fix woka endpoints on pusher

* Change error wording on pusher

* Working on integration of the woka-list with the new admin endpoint.

* Switching from "name" to "id" in texture object + using zod for woka/list validation

* Add position on default woka data

* Remove async on pusher option method

* Fix woka list url

* add options for /register

* Fxiing loading the Woka list

* Actually returning something in logout-callback

* Copying messages to back too

* remove customize button if no body parts are available (#1952)

* remove customize button if no body parts are available

* remove unused position field from PlayerTexturesCollection interface

* removed unused label field

* fix LocalUser test

* little PlayerTextures class refactor

* Fixing linting

* Fixing missing Openapi packages in prod

* Fixing back build

Co-authored-by: Hanusiak Piotr <piotr@ltmp.co>
Co-authored-by: David Négrier <d.negrier@thecodingmachine.com>

* Add returns on pusher endpoints

Co-authored-by: Alexis Faizeau <a.faizeau@workadventu.re>
Co-authored-by: Hanusiak Piotr <piotr@ltmp.co>
Co-authored-by: Piotr Hanusiak <wacneg@gmail.com>
2022-03-11 17:02:58 +01:00
.github/workflows Refactoring Woka management (#1810) 2022-03-11 17:02:58 +01:00
.husky Adding Prettier in messages 2021-12-16 16:40:50 +01:00
back Refactoring Woka management (#1810) 2022-03-11 17:02:58 +01:00
benchmark Bump path-parse from 1.0.6 to 1.0.7 in /benchmark 2021-09-01 15:48:20 +00:00
contrib/docker Merge pull request #1884 from Lithimlin/patch-2 2022-02-16 14:46:15 +01:00
desktop Adding "alpha" to the window Title 2022-03-07 18:10:26 +01:00
docs Refactoring Woka management (#1810) 2022-03-11 17:02:58 +01:00
front Refactoring Woka management (#1810) 2022-03-11 17:02:58 +01:00
maps async call for recalculating tiles costs (#1890) 2022-03-08 16:28:54 +01:00
messages Refactoring Woka management (#1810) 2022-03-11 17:02:58 +01:00
pusher Refactoring Woka management (#1810) 2022-03-11 17:02:58 +01:00
tests Better e2e tests (#1959) 2022-03-11 10:29:42 +01:00
uploader improve docker build caching 2022-02-25 18:53:14 +01:00
.dockerignore *: Dockerfiles cleanup, docker-compose.prod.yaml 2021-01-12 22:32:37 +01:00
.env.template Fix feedback @moufmouf 2021-11-15 15:58:08 +01:00
.gitignore added husky to gitignore 2021-06-25 18:07:03 +02:00
CHANGELOG.md Add multi co website to the changelog 2021-10-27 09:47:15 +02:00
CONTRIBUTING.md Fixed discord links 2022-02-28 21:07:36 +01:00
deeployer.libsonnet Continuous Deployment: add connect to admin 2022-02-17 15:04:51 +01:00
docker-compose.e2e.yml Refactoring Woka management (#1810) 2022-03-11 17:02:58 +01:00
docker-compose.single-domain.yaml change to scope variable in enviroment 2022-02-28 14:56:44 +01:00
docker-compose.yaml Refactoring Woka management (#1810) 2022-03-11 17:02:58 +01:00
package-lock.json Merge remote-tracking branch 'remotes/upstream/develop' into trigger-message-refv3 2021-07-02 18:49:22 +02:00
package.json Revert "Improving log messages" 2021-11-24 16:20:07 +01:00
README-LOGO.svg Updated README (logo, map, wording) (#1485) 2021-10-02 15:59:45 +02:00
README-MAP.png Updated README (logo, map, wording) (#1485) 2021-10-02 15:59:45 +02:00
README.md Fixed discord links 2022-02-28 21:07:36 +01:00
SECURITY.md Create SECURITY.md 2021-06-23 15:26:17 +02:00
Vagrantfile.template Update vagrant template 2020-12-16 16:39:34 +01:00
yarn.lock yarn.lock update 2022-02-07 13:47:33 +01:00

Discord

WorkAdventure logo WorkAdventure office image

Live demo here.

WorkAdventure

WorkAdventure is a web-based collaborative workspace presented in the form of a 16-bit video game.

In WorkAdventure you can move around your office and talk to your colleagues (using a video-chat system, triggered when you approach someone).

See more features for your virtual office: https://workadventu.re/virtual-office

Community resources

Check out resources developed by the WorkAdventure community at awesome-workadventure

Setting up a development environment

Install Docker.

Run:

cp .env.template .env
docker-compose up -d

The environment will start.

You should now be able to browse to http://play.workadventure.localhost/ and see the application. You can view the dashboard at http://workadventure.localhost:8080/

Note: on some OSes, you will need to add this line to your /etc/hosts file:

/etc/hosts

127.0.0.1 workadventure.localhost

Note: If on the first run you get a page with "network error". Try to docker-compose stop , then docker-compose start. Note 2: If you are still getting "network error". Make sure you are authorizing the self-signed certificate by entering https://pusher.workadventure.localhost and accepting them.

MacOS developers, your environment with Vagrant

If you are using MacOS, you can increase Docker performance using Vagrant. If you want more explanations, you can read this medium article.

Prerequisites

First steps

Create a config file Vagrantfile from Vagrantfile.template

cp Vagrantfile.template Vagrantfile

In Vagrantfile, update VM_HOST_PATH with the local project path of your machine.

#VM_HOST_PATH# => your local machine path to the project

(run pwd and copy the path in this variable)

To start your VM Vagrant, run:

Vagrant up

To connect to your VM, run:

Vagrant ssh

To start project environment, run

docker-compose up

You environment runs in you VM Vagrant. When you want stop your VM, you can run:

Vagrant halt

If you want to destroy, you can run

Vagrant destroy

Available commands

  • Vagrant up: start your VM Vagrant.
  • Vagrant reload: reload your VM Vagrant when you change Vagrantfile.
  • Vagrant ssh: connect on your VM Vagrant.
  • Vagrant halt: stop your VM Vagrant.
  • Vagrant destroy: delete your VM Vagrant.

Setting up a production environment

The way you set up your production environment will highly depend on your servers. We provide a production ready docker-compose file that you can use as a good starting point in the contrib/docker directory.