Git Product home page Git Product logo

virtualoffice's Introduction

Virtual Office Project

This repository serves as the codebase for the virtual office project. Currently, the system works on any device that has a private IP address on the Stanford campus network, and we expect that the signaling server would be able to host ~50 people at the same time at its maximum.

Get started

Enabling the Microphone/Camera in browser for (Local) Unsecure Origins

For Chrome, type the following in the URL field

chrome://flags/#unsafely-treat-insecure-origin-as-secure

Enable the Insecure origins treated as secure section and enter http://localhost:6001.

WARNING: For Chrome, you might need to restart your browser after you change the settings above. Save the tabs!

For Firefix, type about:config and set the values of media.devices.insecure.enabled and media.getusermedia.insecure.enabled to be true.

Signaling server

NOTE: Qizheng is hosting and maintaining the signaling server now, so you can skip this step.

The signaling server is built with aiohttp and socketio. Run the following commands to install the required libraries first.

cd signaling
pip install -r requirements.txt
python server.py

A websocket server will be hosted at the IP address and at the port number indicated in web.run_app(). Note that this server does not have to be hosted on any client's local computer.

User information

To set up personal info that will be displayed during the chat, do

cd goto-lunch-web
touch clientconfig.js

In clientconfig.js, put the following lines

const USER_ID = "your name";
const DEVICE = "your device";
let USER_INFO = {"user_id": USER_ID, "device": DEVICE};

Note that this information will be broadcast to other users when you get online.

Web chat client

To start the web chat client, do

cd goto-lunch-web
python -m http.server 6001

A web chat window will be started and hosted at localhost:6001. Feel free to change the port number.

Reference

The implementation of the signaling server is adapted based on https://github.com/pfertyk/webrtc-working-example.

virtualoffice's People

Contributors

alex-q-z avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.