2.8 KiB
Welcome to the contributing guide for PeerTube
Interesting in contributing? Awesome :)
Quick Links:
- Give your feedback
- Develop on the Server side
- Develop on the Client side
- Get started with development
- Write documentation
Give your feedback
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/Express.
Newcomer? You can find a documentation of the server code/architecture here.
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/Angular2.
Newcomer? You can find a documentation of the server code/architecture here.
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
:
# 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:
$ 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:
$ 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
Password: test
Write documentation
You can help to write the documentation of the REST API, code, architecture, demonstrations...