Skip to content

Latest commit

 

History

History
75 lines (51 loc) · 2.55 KB

README.md

File metadata and controls

75 lines (51 loc) · 2.55 KB

Papyrus

Papyrus is a real-time collaborative Markdown editor and document repository with simple organization and project-based management. At Furqan Software we always wanted a simple way to collaborate on Markdown documents and Papyrus is our stab at fulfilling that need.

Obligatory GIF

As of writing this README.md, GopherGala 2016's 48 hours is almost up. The core collaborative editing functionality, namely operational transformation and other relevant constructs, have been implemented. The webapp is lacking some functionalities (e.g. removing a member that has been added to a project, deleting a document, etc). At this moment, you can login using a Google or GitHub account, create organizations, create projects, create documents and start editing them collaboratively in real-time.

Usage

Create a GOPATH for this project:

$ mkdir -p Papyrus
$ cd Papyrus
$ export GOPATH=`pwd`

Clone this repository:

$ mkdir -p src/github.com/gophergala2016/papyrus
$ cd src/github.com/gophergala2016/papyrus
$ git clone https://github.com/gophergala2016/papyrus.git .

Install dependencies:

$ go get -v ./...

Build papyrusd binary:

$ go build ./cmd/papyrusd

Set necessary environment variables (see env-sample.txt):

$ export ADDR=:5000
$ export SECRET=some-long-secret
$ export BASE=http://localhost:5000
$ export MONGO_URL=mongodb://localhost/papyrus
$ export GITHUB_CLIENT_ID=your-github-client-id-here
$ export GITHUB_CLIENT_SECRET=your-github-client-secret-here
$ export GOOGLE_CLIENT_ID=your-google-client-id-here
$ export GOOGLE_CLIENT_SECRET=your-google-client-secret-here

Make sure MongoDB is running and all necessary environment variables are set.

Run papyrusd:

./papyrusd

Open your web browser and navigate to localhost:5000.

Acknowledgements

  • CodeMirror - One fantastic text editor for the web
  • Code Commit - For their amazing explanation of operational transformation
  • OT Explained - That visualization!
  • golab - For the insights we got from its code

License

Papyrus is available under the BSD (3-Clause) License.