Code Monkey home page Code Monkey logo

onair's Introduction

onair

The system for remote workers to prevent their family members from interrupting conference calls. The system is designed to automatically detect conference calls on workers' PC, and let their family members know by changing the color on the screen right next to the door.

For example, when you're on conference calls, the system shows the red screen:

when you're working (PC is turned on) but not in conference calls, shows the green screen:

when you're not working (PC is turned off), shows the gray screen:

Currently, the implementation supports zoom conference and slack huddle on macbook catlina (i.e. author's PC).

Design

  • onair-cli: Client-side agent that monitors conference call processes and push the status to the web service (onair-be).
  • onair-be: The backend part of the web service that receives the updates from onair-cli then publishes the status to screens.
  • onair-fe: The frontend part of the web service that shows colored screen that indicates the current status.
graph LR
    A("PC (onair-cli)") -->|POST| B("Server (onair-be)")
    B -->|GET/Websocket| C("Screen (onair-fe)")
Loading

Setup

The project requires

  • npm for frontend
  • rust for backend

To install dependencies,

make setup

Test the service locally

This will build frontend/backend and start backend locally.

make
  • Open http://localhost:8080/view in your browser to check the colored screen.
  • Run this command to update the state to onair:
curl -X POST -d '{"onair": true}' http://localhost:8080/state
  • Run this command to update the state to working:
curl -X POST -d '{"onair": false}' http://localhost:8080/state
  • If you don't send the command for a while, the state will automatically turn offline.

Build

This will build the web service binary.

make release

onair's People

Contributors

yushiomote avatar

Stargazers

Jochen Kupperschmidt avatar Yoshitsugu Kesamaru avatar Li-Ting avatar Adrien Barbaresi avatar  avatar  avatar  avatar

Watchers

James Cloos avatar  avatar

onair's Issues

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.