Skip to content

mstone/focus

Repository files navigation

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!

About

an experiment in collaboration

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published