aboutsummaryrefslogtreecommitdiffhomepage
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/CONTRIBUTING.md74
1 files changed, 67 insertions, 7 deletions
diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index 3764eb7c4..989087728 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -7,30 +7,90 @@ Interesting in contributing? Awesome :)
7 * [Give your feedback](#give-your-feedback) 7 * [Give your feedback](#give-your-feedback)
8 * [Develop on the Server side](#develop-on-the-server-side) 8 * [Develop on the Server side](#develop-on-the-server-side)
9 * [Develop on the Client side](#develop-on-the-client-side) 9 * [Develop on the Client side](#develop-on-the-client-side)
10 * [Get started with development](#get-started-with-development)
10 * [Write documentation](#write-documentation) 11 * [Write documentation](#write-documentation)
11 12
12 13
13## Give your feedback 14## Give your feedback
14 15
15Even 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... 16You don't need to know how to code to start contributing to PeerTube! Other
17contributions are very valuable too, among which: you can test the software and
18report bugs, you can give feedback on potential bugs, features that you are
19interested in, user interace, design, decentralized architecture...
16 20
17 21
22## Development
23
18## Develop on the Server side 24## Develop on the Server side
19 25
20The server is a web server developed with [NodeJS](https://nodejs.org)/[Express](http://expressjs.com). 26The server is a web server developed with
27[NodeJS](https://nodejs.org)/[Express](http://expressjs.com).
21 28
22Newcommer? You can find a documentation of the server code/architecture [here](https://github.com/Chocobozzz/PeerTube/blob/master/support/doc/server/code.md). 29Newcomer? You can find a documentation of the server code/architecture
30[here](https://github.com/Chocobozzz/PeerTube/blob/master/support/doc/server/code.md).
23 31
24Do not hesitate to talk about the functionnality you want to develop by creating an issue :) 32Don't hesitate to talk about features you want to develop by creating an issue
33before you start working on them :).
25 34
26 35
27## Develop on the Client side 36## Develop on the Client side
28 37
29The client is a web application developed with [TypeScript](https://www.typescriptlang.org/)/[Angular2](https://angular.io/) 38The client is a web application developed with
39[TypeScript](https://www.typescriptlang.org/)/[Angular2](https://angular.io/).
40
41Newcomer? You can find a documentation of the server code/architecture
42[here](https://github.com/Chocobozzz/PeerTube/blob/master/support/doc/client/code.md).
43
44
45## Get started with development
46
47In this mode, the server will run requests between instances more quickly, the
48video durations are limited to a few seconds.
49
50### Prerequisites
51
52First, make sure that you have followed the steps to install the dependencies.
53
54Then, create a postgres database and user with the values set in the
55`config/default.yaml` file. For instance, if you do not change the values
56there, the following commands would create a new database called `peertube_dev`
57and a postgres user called `peertube` with password `peertube`:
58
59```bash
60 # sudo -u postgres createuser -P peertube
61 Enter password for new role: peertube
62 # sudo -u postgres createdb -O peertube peertube_dev
63```
64
65### Server side
66
67To develop on the server-side:
68
69```bash
70 $ npm run dev:server
71```
72
73Then, the server will listen on `localhost:9000`. When server source files
74change, these are automatically recompiled and the server will automatically
75restart.
76
77### Client side
78
79To develop on the client side:
80
81```bash
82 $ npm run dev:client
83```
84
85The API will listen on `localhost:9000` and the frontend on `localhost:3000`.
86Client files are automatically compiled on change, and the web browser will
87reload them automatically thanks to hot module replacement.
30 88
31Newcommer? You can find a documentation of the server code/architecture [here](https://github.com/Chocobozzz/PeerTube/blob/master/support/doc/client/code.md). 89**Username**: *root* <br/>
90**Password**: *test*
32 91
33 92
34## Write documentation 93## Write documentation
35 94
36You can help to write the documentation of the REST API, code, architecture, demonstrations... 95You can help to write the documentation of the REST API, code, architecture,
96demonstrations...