https://github.com/mstone/focus
an experiment in collaboration
https://github.com/mstone/focus
Last synced: about 1 year ago
JSON representation
an experiment in collaboration
- Host: GitHub
- URL: https://github.com/mstone/focus
- Owner: mstone
- License: bsd-3-clause
- Created: 2014-07-20T21:53:57.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2017-08-12T23:26:21.000Z (almost 9 years ago)
- Last Synced: 2025-01-31T22:49:58.165Z (over 1 year ago)
- Language: Go
- Size: 2.2 MB
- Stars: 2
- Watchers: 4
- Forks: 1
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Overview
focus is an experimental collaboration platform.
Its first major component, `vaporpad` ([design doc](./docs/intent.adoc)), is a
low-latency collaborative editor inspired by and derived from
[etherpad-lite](http://etherpad.org), [sharejs](http://sharejs.org), and
[ot.v](https://github.com/Operational-Transformation/ot.v).
## Caveats
Warning: focus is not yet feature-complete and has [known
issues](https://github.com/mstone/focus/issues) that make it pre-alpha quality.
## Dependency Management
focus depends on [nix](https://nixos.org/nix/) and
[nixpkgs](https://github.com/NixOS/nixpkgs) for fine-grain dependency
management.
## Getting The Code
After installing nix, focus can be checked out by running:
```bash
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:
```bash
make
```
## Development
To enter a focus dev-shell configured for interactive development, run:
```bash
make dev
```
Then edit and run commands like:
```bash
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!