• Stars
    star
    950
  • Rank 48,110 (Top 1.0 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created over 3 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Immersive virtual office built with Phaser, React, Redux, PeerJS, and Colyseus.

SkyOffice License PRs Welcome

Logo

An immersive virtual office - Winner of 2021 Monte Jade Innovation Competition

SkyOffice works on all PC browsers (mobile browsers are currently not supported)

Built with

Features

Proximity Chat (distance-based interactive system)

image

Multifunctional Rooms

image

Flexible & Immediate Screen Sharing

image

Text Message Chat (with real time dialog bubbles)

image

Embedded Whiteboards

image

Custom/Private Rooms

image

Controls

  • W, A, S, D, or arrow keys to move (video chat will start if you are close to someone else)
  • E to sit down
  • R to use computer (for screen sharing)
  • Enter to open chat
  • ESC to close chat

Prerequisites

You'll need Node.js, npm installed.

Getting Started

Clone this repository to your local machine:

git clone https://github.com/kevinshen56714/SkyOffice.git

This will create a folder named SkyOffice. You can specify a different folder name like this:

git clone https://github.com/kevinshen56714/SkyOffice.git my-folder-name

To start a server, go into the project folder and install dependencies/run start command:

cd SkyOffice or 'my-folder-name'
yarn && yarn start

To start a client, go into the client folder and install dependencies/run start command:

cd SkyOffice/client or 'my-folder-name/client'
yarn && yarn dev

Credits 🎉

Big thanks to this great repo - ourcade/phaser3-typescript-parcel-template

Big thanks to pixel artist - LimeZu

Big thanks to open-source whiteboard project - WBO

License

This project is licensed under MIT.

If you're using SkyOffice to power your virtual office or using our code in other projects, please consider buy me a coffee. Thank you :)