]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - .github/CONTRIBUTING.md
Save
[github/Chocobozzz/PeerTube.git] / .github / CONTRIBUTING.md
index 568b726a5f556baf65e60a7cb2a63736136cb473..704b22b8b52b86048253b030bd6c0e4118a48fc3 100644 (file)
@@ -4,12 +4,26 @@ Interested in contributing? Awesome!
 
 **This guide will present you the following contribution topics:**
 
 
 **This guide will present you the following contribution topics:**
 
-  * [Translate](#translate)
-  * [Give your feedback](#give-your-feedback)
-  * [Write documentation](#write-documentation)
-  * [Improve the website](#improve-the-website)
-  * [Develop](#develop)
-  * [Write a plugin or a theme](#plugins--themes)
+<!-- START doctoc generated TOC please keep comment here to allow auto update -->
+<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
+
+
+- [Translate](#translate)
+- [Give your feedback](#give-your-feedback)
+- [Write documentation](#write-documentation)
+- [Improve the website](#improve-the-website)
+- [Develop](#develop)
+  - [Prerequisites](#prerequisites)
+  - [Online development](#online-development)
+  - [Server side](#server-side)
+  - [Client side](#client-side)
+  - [Client and server side](#client-and-server-side)
+  - [Testing the federation of PeerTube servers](#testing-the-federation-of-peertube-servers)
+  - [Unit tests](#unit-tests)
+  - [Emails](#emails)
+- [Plugins & Themes](#plugins--themes)
+
+<!-- END doctoc generated TOC please keep comment here to allow auto update -->
 
 ## Translate
 
 
 ## Translate
 
@@ -29,13 +43,13 @@ interested in, user interface, design, decentralized architecture...
 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.
 
-For the REST API you can see the documentation in [/support/doc/api](/support/doc/api) directory.
-Then, you can just open the `openapi.yaml` file in a special editor like [http://editor.swagger.io/](http://editor.swagger.io/) to easily see and edit the documentation.
+For the REST API you can see the documentation in [/support/doc/api](https://github.com/Chocobozzz/PeerTube/tree/develop/support/doc/api) directory.
+Then, you can just open the `openapi.yaml` file in a special editor like [http://editor.swagger.io/](http://editor.swagger.io/) to easily see and edit the documentation. You can also use [redoc-cli](https://github.com/Redocly/redoc/blob/master/cli/README.md) and run `redoc-cli serve --watch support/doc/api/openapi.yaml` to see the final result.
 
 Some hints:
 
 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
+ * Routes are defined in [/server/controllers/](https://github.com/Chocobozzz/PeerTube/tree/develop/server/controllers) directory
+ * Parameters validators are defined in [/server/middlewares/validators](https://github.com/Chocobozzz/PeerTube/tree/develop/server/middlewares/validators) directory
+ * Models sent/received by the controllers are defined in [/shared/models](https://github.com/Chocobozzz/PeerTube/tree/develop/shared/models) directory
 
 
 ## Improve the website
 
 
 ## Improve the website
@@ -58,7 +72,7 @@ First, you should use a server or PC with at least 4GB of RAM. Less RAM may lead
 
 Make sure that you have followed
 [the steps](/support/doc/dependencies.md)
 
 Make sure that you have followed
 [the steps](/support/doc/dependencies.md)
-to install the dependencies. You'll need to install **NodeJS 10**.
+to install the dependencies.
 
 Fork the github repository,
 and then clone the sources and install node modules:
 
 Fork the github repository,
 and then clone the sources and install node modules:
@@ -201,6 +215,13 @@ $ npm run mocha -- --exit -r ts-node/register -r tsconfig-paths/register --bail
 Instance configurations are in `config/test-{1,2,3,4,5,6}.yaml`.
 Note that only instance 2 has transcoding enabled.
 
 Instance configurations are in `config/test-{1,2,3,4,5,6}.yaml`.
 Note that only instance 2 has transcoding enabled.
 
+### Emails
+
+To test emails with PeerTube:
+
+ * Run [mailslurper](http://mailslurper.com/)
+ * Run PeerTube using mailslurper SMTP port: `NODE_CONFIG='{ "smtp": { "hostname": "localhost", "port": 2500, "tls": false } }' NODE_ENV=test npm start`
+
 ## Plugins & Themes
 
 See the dedicated documentation: https://docs.joinpeertube.org/#/contribute-plugins
 ## Plugins & Themes
 
 See the dedicated documentation: https://docs.joinpeertube.org/#/contribute-plugins