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
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...
+interested in, user interface, 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).
-
-Newcomer? You can find a documentation of the server code/architecture
-[here](https://github.com/Chocobozzz/PeerTube/blob/master/support/doc/server/code.md).
-Don't hesitate to talk about features you want to develop by creating an issue
-before you start working on them :).
+You can help to write the documentation of the REST API, code, architecture,
+demonstrations.
-## Develop on the Client side
+Some hints:
+ * Routes are defined in [/server/controllers/](/server/controllers/) directory
+ * Parameters validators are defined in [/server/middlewares/validators](/server/middlewares/validators) directory
+ * Models sent/received by the controllers are defined in [/shared/models](/shared/models) directory
-In this mode, the server will run requests between instances more quickly, the
-video durations are limited to a few seconds.
+First, make sure that you have followed
+[the steps](/support/doc/dependencies.md)
+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`:
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`:
+# sudo -u postgres createuser -P peertube
+Enter password for new role: peertube
+# sudo -u postgres createdb -O peertube peertube_dev
+```
+
+In dev mode, administrator username is **root** and password is **test**.
```
Then, the server will listen on `localhost:9000`. When server source files
change, these are automatically recompiled and the server will automatically
```
Then, the server will listen on `localhost:9000`. When server source files
change, these are automatically recompiled and the server will automatically
```
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.
```
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.
-You can help to write the documentation of the REST API, code, architecture,
-demonstrations...
+Then you will get access to the three nodes at `http://localhost:900{1,2,3}`
+with the `root` as username and `test{1,2,3}` for the password.