diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000..8d0079d288 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,36 @@ +Contributing to ShareLaTeX +========================== + +Thank you for reading this! If you've found a bug, or have a new feature in mind, +then here are some notes on how to best report issues or implement changes. + +Security +-------- + +Please do not publish security vulnerabilities publicly until we've had a chance +to address them. All security related issues/patches should be sent directly to +security@sharelatex.com where we will attempt to address them quickly. If you're +unsure whether something is a security issue or not, then please be cautious and +contact us at security@sharelatex.com first. + +Reporting bugs +-------------- + +If you've found a bug then please: + +1. Check if there is an existing issue for it. If there is then please add + any more information that you have, or give it a "+1". +2. If there is there is no issue, then please open one. +3. Please describe the issue as clearly as possible, including how to + reproduce the bug, which situations it appears in, what you expected to + happen, and what actually happens. +4. Please include a screenshot for front end issues if you can. + +Pull Requests +------------- + +We love pull requests, so be bold with them! Don't be afraid of going ahead +and changing something, or adding a new feature. If you're setting of to make +a big change then opening an issue (or commenting on an existing one) is the +best way to discuss your ideas first. + diff --git a/README.md b/README.md new file mode 100644 index 0000000000..663dfea432 --- /dev/null +++ b/README.md @@ -0,0 +1,57 @@ +ShareLaTeX is a web based collaborative LaTeX editor. There are two versions of it, +the online version that anyone can sign up to at www.sharelatex.com, and this open source +version which allows anyone to run a local installation of ShareLaTeX. + +This repository pulls together all of the different services in ShareLaTeX's service +orientied architecture (SOA). + +Installation +============ + +First, check out a local copy of this repository: + + $ git clone git@github.com:sharelatex/sharelatex.git + $ cd sharelatex + +Next run `npm install` to download all of the dependencies and services +(you need Node.js installed, version 0.10.0 or later): + + $ npm install + +This can take a while, so now would be a good time for a cup of tea. +When that has finished, run ShareLaTeX with + + $ grunt run + +ShareLaTeX should now be running at http://localhost:3000. + +Dependencies +============ + +You need a local instance of Redis and Mongodb running on their standard ports. + +Other repositories +================== + +ShareLaTeX consists of many separate services, each with their own Node.js process +and source code repository. These are all downloaded when you run `npm install` and +they are run when you run `grunt run`. + +The different services are: + +web-sharelatex +-------------- + +The front facing web server that serves all the HTML pages, CSS and javascript +to the client. Also contains a lot of logic around creating and editing +projects, and account management. + +document-updater-sharelatex +--------------------------- + +Process updates that come in from the editor when users modify documents. Ensures that +the updates are applied in the right order, and that only one operation is modifying +the document at a time. Also caches the documents in redis for very fast but persistent +modifications. + +