Reword docs (#176)

* Reword documentation;

* Wrap lines at 80 characters in the documentation.

* Wrap CONTRIBUTING.md too;

* Tweaks to CONTRIBUTING.md wording;

* Move development section to CONTRIBUTING.md;

* Explain database creation in CONTRIBUTING.md;
This commit is contained in:
Benjamin Bouvier
2018-01-06 18:10:30 +01:00
committed by Chocobozzz
parent 99eff32c00
commit e755a63a1b
4 changed files with 196 additions and 88 deletions

View File

@@ -7,30 +7,90 @@ Interesting in contributing? Awesome :)
* [Give your feedback](#give-your-feedback)
* [Develop on the Server side](#develop-on-the-server-side)
* [Develop on the Client side](#develop-on-the-client-side)
* [Get started with development](#get-started-with-development)
* [Write documentation](#write-documentation)
## Give your feedback
Even if you are not a developer, or you do not want to develop on PeerTube you can give a feedback on potential bugs, features that you are interested in, user interace, design, decentralized architecture...
You don't need to know how to code to start contributing to PeerTube! Other
contributions are very valuable too, among which: you can test the software and
report bugs, you can give feedback on potential bugs, features that you are
interested in, user interace, design, decentralized architecture...
## Development
## Develop on the Server side
The server is a web server developed with [NodeJS](https://nodejs.org)/[Express](http://expressjs.com).
The server is a web server developed with
[NodeJS](https://nodejs.org)/[Express](http://expressjs.com).
Newcommer? You can find a documentation of the server code/architecture [here](https://github.com/Chocobozzz/PeerTube/blob/master/support/doc/server/code.md).
Newcomer? You can find a documentation of the server code/architecture
[here](https://github.com/Chocobozzz/PeerTube/blob/master/support/doc/server/code.md).
Do not hesitate to talk about the functionnality you want to develop by creating an issue :)
Don't hesitate to talk about features you want to develop by creating an issue
before you start working on them :).
## Develop on the Client side
The client is a web application developed with [TypeScript](https://www.typescriptlang.org/)/[Angular2](https://angular.io/)
The client is a web application developed with
[TypeScript](https://www.typescriptlang.org/)/[Angular2](https://angular.io/).
Newcommer? You can find a documentation of the server code/architecture [here](https://github.com/Chocobozzz/PeerTube/blob/master/support/doc/client/code.md).
Newcomer? You can find a documentation of the server code/architecture
[here](https://github.com/Chocobozzz/PeerTube/blob/master/support/doc/client/code.md).
## Get started with development
In this mode, the server will run requests between instances more quickly, the
video durations are limited to a few seconds.
### Prerequisites
First, make sure that you have followed the steps to install the dependencies.
Then, create a postgres database and user with the values set in the
`config/default.yaml` file. For instance, if you do not change the values
there, the following commands would create a new database called `peertube_dev`
and a postgres user called `peertube` with password `peertube`:
```bash
# sudo -u postgres createuser -P peertube
Enter password for new role: peertube
# sudo -u postgres createdb -O peertube peertube_dev
```
### Server side
To develop on the server-side:
```bash
$ npm run dev:server
```
Then, the server will listen on `localhost:9000`. When server source files
change, these are automatically recompiled and the server will automatically
restart.
### Client side
To develop on the client side:
```bash
$ npm run dev:client
```
The API will listen on `localhost:9000` and the frontend on `localhost:3000`.
Client files are automatically compiled on change, and the web browser will
reload them automatically thanks to hot module replacement.
**Username**: *root* <br/>
**Password**: *test*
## Write documentation
You can help to write the documentation of the REST API, code, architecture, demonstrations...
You can help to write the documentation of the REST API, code, architecture,
demonstrations...