Skip to content

A real-time collaborative Markdown editor and document repository with simple organization and project-based management

License

Notifications You must be signed in to change notification settings

FurqanSoftware/papyrus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

A real-time collaborative Markdown editor and document repository with simple organization and project-based management

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published