focus

command module
v0.0.0-...-c85e1c3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 12, 2017 License: BSD-3-Clause Imports: 12 Imported by: 0

README

Overview

focus is an experimental collaboration platform.

Its first major component, vaporpad (design doc), is a low-latency collaborative editor inspired by and derived from etherpad-lite, sharejs, and ot.v.

Caveats

Warning: focus is not yet feature-complete and has known issues that make it pre-alpha quality.

Dependency Management

focus depends on nix and nixpkgs for fine-grain dependency management.

Getting The Code

After installing nix, focus can be checked out by running:

export GOPATH=$(pwd)/go
PKG=github.com/mstone/focus
mkdir -p $GOPATH/src/$(dirname $PKG)
(cd $GOPATH/src/$(dirname $PKG); git clone --recursive https://$PKG)
cd $GOPATH/src/$PKG

to create a fresh GOPATH workspace containing a suitable source checkout.

Use

To build focus from a clean checkout, run:

make

Development

To enter a focus dev-shell configured for interactive development, run:

make dev

Then edit and run commands like:

go generate
go build -i
go build
goconvey

to build from your (potentially dirty) working tree.

Docker

Want to deploy via docker? No problem, just run:

make docker
docker load < result
docker run -v $(pwd)/data:/data -p 127.0.0.1:3000:3000 focus /bin/focus -api=ws://localhost:3000/ws -bind=0.0.0.0:3000 -log=/data/focus.log -dsn=/data/focus.db

and customize as needed with your particular deployment settings!

Documentation

Overview

Package main runs the Focus server.

Directories

Path Synopsis
Package client uses gopherjs, AngularJS, and the HTTP Focus interface to implement a simple Focus client.
Package client uses gopherjs, AngularJS, and the HTTP Focus interface to implement a simple Focus client.
internal
js
ace
Package msg defines the main messages used in the Focus protocol.
Package msg defines the main messages used in the Focus protocol.
Package server provides an HTTP interface to the Focus store.
Package server provides an HTTP interface to the Focus store.
Package store persists Focus messages.
Package store persists Focus messages.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL