noizwaves / tandem

Developer centric screen sharing

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tandem

Remote pair programming tool

Quickstart

  1. yarn
  2. yarn build
  3. yarn start

Installation

MacOS

  1. Install Node 8 via brew install node@8
  2. Install latest Yarn via brew install yarn --without-node
  3. Install node-gyp via yarn global add node-gyp
  4. Install dependencies via yarn

Optional

  1. brew install direnv

Windows

  1. Install Node 8 from website
  2. Install Yarn from website
  3. Install windows build essentials for node-gyp by:
  4. Opening a Command Prompt with administrative access
  5. Running npm install --global --production windows-build-tools --add-python-to-path
  6. Install node-gyp via yarn global add node-gyp
  7. Install dependencies via yarn

Linux

  1. Install Node 8 following this guide
  2. Install Yarn by following this guide
  3. Install robotjs build dependencies via sudo apt-get install libxtst-dev libpng++-dev
  4. Install node-gyp via yarn global add node-gyp

Building

  1. Build via yarn build
  2. Run via yarn start

For Development

  1. Build via yarn build
  2. Run via yarn start:dev

For Debugging

  1. Build via yarn build
  2. Run via yarn start:debug

Configuration

The Tandem app observes environment variables for configuration.

Development

  • TANDEM_DEBUG_WINDOWS: show WebRTC stats, GPU stats, etc.
  • TANDEM_DEVELOPER_TOOLS: show Chrome developer tools in windows

Logging

  • TANDEM_LOG_LEVEL: sets logging level. Accepts error, warn, info, or debug.
  • TANDEM_PRINT_SENSITIVE_VALUES_IN_LOGS: replaces highly sensitive (i.e. key codes on key events) into logs. This triggers key logger behaviour. Use at your own risk!
  • TANDEM_VERBOSE_CHROMIUM: Turns on verbose logging out of the Chromium process within Electron.

Architecture

Concierge

The signalling server, written in Java 8 and Spring.

This is located under the concierge directory. Read more here.

About

Developer centric screen sharing

License:MIT License


Languages

Language:TypeScript 44.9%Language:CSS 39.9%Language:Elm 10.9%Language:Java 3.2%Language:JavaScript 0.9%Language:HTML 0.2%