All Projects → FurqanSoftware → papyrus

FurqanSoftware / papyrus

Licence: BSD-3-Clause license
A real-time collaborative Markdown editor and document repository with simple organization and project-based management

Programming Languages

go
31211 projects - #10 most used programming language
HTML
75241 projects
javascript
184084 projects - #8 most used programming language

Labels

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.

Demo

https://gophergala2016-papyrus.herokuapp.com/

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 install ./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

Run papyrusd:

$GOPATH/bin/papyrusd

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

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

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].