diff options
Diffstat (limited to 'support/doc')
-rw-r--r-- | support/doc/client/code.md | 22 | ||||
-rw-r--r-- | support/doc/server/code.md | 14 |
2 files changed, 18 insertions, 18 deletions
diff --git a/support/doc/client/code.md b/support/doc/client/code.md index f629af32f..c1a5c1c5f 100644 --- a/support/doc/client/code.md +++ b/support/doc/client/code.md | |||
@@ -1,14 +1,14 @@ | |||
1 | # Client code documentation | 1 | # Client code documentation |
2 | 2 | ||
3 | The client is a HTML/CSS/JavaScript web application (single page application -> SPA) developed with [TypeScript](https://www.typescriptlang.org/)/[Angular 2](https://angular.io/). | 3 | The client is a HTML/CSS/JavaScript web application (single page application -> SPA) developed with [TypeScript](https://www.typescriptlang.org/)/[Angular](https://angular.io/). |
4 | 4 | ||
5 | 5 | ||
6 | ## Technologies | 6 | ## Technologies |
7 | 7 | ||
8 | * [TypeScript](https://www.typescriptlang.org/) -> Language | 8 | * [TypeScript](https://www.typescriptlang.org/) -> Language |
9 | * [Angular 2](https://angular.io) -> JavaScript framework | 9 | * [Angular](https://angular.io) -> JavaScript framework |
10 | * [SASS](http://sass-lang.com/) -> CSS framework | 10 | * [SASS](http://sass-lang.com/) -> CSS framework |
11 | * [Webpack 2](https://webpack.github.io/docs/) -> Source builder (compile TypeScript, SASS files, bundle them...) | 11 | * [Webpack](https://webpack.github.io/docs/) -> Source builder (compile TypeScript, SASS files, bundle them...) |
12 | * [Bootstrap](http://getbootstrap.com/) -> CSS framework | 12 | * [Bootstrap](http://getbootstrap.com/) -> CSS framework |
13 | * [WebTorrent](https://webtorrent.io/) -> JavaScript library to make P2P in the browser | 13 | * [WebTorrent](https://webtorrent.io/) -> JavaScript library to make P2P in the browser |
14 | * [VideoJS](http://videojs.com/) -> JavaScript player framework | 14 | * [VideoJS](http://videojs.com/) -> JavaScript player framework |
@@ -25,16 +25,16 @@ Here is the description of the useful `client` files directory: | |||
25 | .bootstraprc -> Bootstrap configuration file (which module we need) | 25 | .bootstraprc -> Bootstrap configuration file (which module we need) |
26 | config -> Webpack configuration files | 26 | config -> Webpack configuration files |
27 | src | 27 | src |
28 | |__ app -> TypeScript files for Angular 2 application | 28 | |__ app -> TypeScript files for Angular application |
29 | |__ assets -> static files (images...) | 29 | |__ assets -> static files (images...) |
30 | |__ sass -> SASS files that are global for the application | 30 | |__ sass -> SASS files that are global for the application |
31 | |__ standalone -> files outside the Angular application (embed HTML page...) | 31 | |__ standalone -> files outside the Angular application (embed HTML page...) |
32 | |__ index.html -> root HTML file for our Angular 2 application | 32 | |__ index.html -> root HTML file for our Angular application |
33 | |__ main.ts -> Main TypeScript file that boostraps our Angular 2 application | 33 | |__ main.ts -> Main TypeScript file that boostraps our Angular application |
34 | |__ polyfills.ts -> Polyfills imports (ES 2015...) | 34 | |__ polyfills.ts -> Polyfills imports (ES 2015...) |
35 | |__ vendor.ts -> Vendor imports (Angular, Bootstrap...) | 35 | |__ vendor.ts -> Vendor imports (Angular, Bootstrap...) |
36 | 36 | ||
37 | Details of the Angular 2 application file structure. It tries to follow [the official Angular 2 styleguide](https://angular.io/docs/ts/latest/guide/style-guide.html). | 37 | Details of the Angular application file structure. It tries to follow [the official Angular styleguide](https://angular.io/docs/ts/latest/guide/style-guide.html). |
38 | 38 | ||
39 | app | 39 | app |
40 | |__ account -> Account components (password change...) | 40 | |__ account -> Account components (password change...) |
@@ -44,11 +44,11 @@ Details of the Angular 2 application file structure. It tries to follow [the off | |||
44 | |__ shared -> Shared components/services (search component, REST services...) | 44 | |__ shared -> Shared components/services (search component, REST services...) |
45 | |__ videos -> Video components (list, watch, upload...) | 45 | |__ videos -> Video components (list, watch, upload...) |
46 | |__ app.component.{html,scss,ts} -> Main application component | 46 | |__ app.component.{html,scss,ts} -> Main application component |
47 | |__ app.module.ts -> Angular 2 root module that imports all submodules we need | 47 | |__ app.module.ts -> Angular root module that imports all submodules we need |
48 | 48 | ||
49 | ## Conventions | 49 | ## Conventions |
50 | 50 | ||
51 | Uses [TSLint](https://palantir.github.io/tslint/) for TypeScript linting and [Angular 2 styleguide](https://angular.io/docs/ts/latest/guide/style-guide.html). | 51 | Uses [TSLint](https://palantir.github.io/tslint/) for TypeScript linting and [Angular styleguide](https://angular.io/docs/ts/latest/guide/style-guide.html). |
52 | 52 | ||
53 | ## Developing | 53 | ## Developing |
54 | 54 | ||
@@ -57,8 +57,8 @@ Uses [TSLint](https://palantir.github.io/tslint/) for TypeScript linting and [An | |||
57 | * Run PostgreSQL and create the database `peertube_dev`. | 57 | * Run PostgreSQL and create the database `peertube_dev`. |
58 | * Run `npm run dev` to compile the client and automatically run the server. Then the server will watch and compile the client files automatically. You just need to refresh the browser to see your modifications. | 58 | * Run `npm run dev` to compile the client and automatically run the server. Then the server will watch and compile the client files automatically. You just need to refresh the browser to see your modifications. |
59 | 59 | ||
60 | In a Angular 2 application, we create components that we put together. Each component is defined by an HTML structure, a TypeScript file and optionnaly a SASS file. | 60 | In a Angular application, we create components that we put together. Each component is defined by an HTML structure, a TypeScript file and optionnaly a SASS file. |
61 | If you are not familiar with Angular 2 I recommend you to read the [quickstart guide](https://angular.io/docs/ts/latest/quickstart.html). | 61 | If you are not familiar with Angular I recommend you to read the [quickstart guide](https://angular.io/docs/ts/latest/quickstart.html). |
62 | 62 | ||
63 | ## Components tree | 63 | ## Components tree |
64 | 64 | ||
diff --git a/support/doc/server/code.md b/support/doc/server/code.md index c15885c8c..76d11c963 100644 --- a/support/doc/server/code.md +++ b/support/doc/server/code.md | |||
@@ -1,11 +1,11 @@ | |||
1 | # Server code documentation | 1 | # Server code documentation |
2 | 2 | ||
3 | The server is a web server developed with [NodeJS](https://nodejs.org)/[Express](http://expressjs.com). | 3 | The server is a web server developed with [TypeScript](https://www.typescriptlang.org/)/[Express](http://expressjs.com). |
4 | 4 | ||
5 | 5 | ||
6 | ## Technologies | 6 | ## Technologies |
7 | 7 | ||
8 | * [NodeJS](https://nodejs.org) -> Language | 8 | * [TypeScript](https://www.typescriptlang.org/) -> Language |
9 | * [PostgreSQL](https://www.postgresql.org/) -> Database | 9 | * [PostgreSQL](https://www.postgresql.org/) -> Database |
10 | * [Express](http://expressjs.com) -> Web server framework | 10 | * [Express](http://expressjs.com) -> Web server framework |
11 | * [Sequelize](http://docs.sequelizejs.com/en/v3/) -> SQL ORM | 11 | * [Sequelize](http://docs.sequelizejs.com/en/v3/) -> SQL ORM |
@@ -15,11 +15,11 @@ The server is a web server developed with [NodeJS](https://nodejs.org)/[Express] | |||
15 | 15 | ||
16 | ## Files | 16 | ## Files |
17 | 17 | ||
18 | The server main file is [server.js](https://github.com/Chocobozzz/PeerTube/blob/master/server.js). | 18 | The server main file is [server.ts](https://github.com/Chocobozzz/PeerTube/blob/master/server.ts). |
19 | The server modules description are in the [package.json](https://github.com/Chocobozzz/PeerTube/blob/master/package.json) at the project root. | 19 | The server modules description are in the [package.json](https://github.com/Chocobozzz/PeerTube/blob/master/package.json) at the project root. |
20 | All other server files are in the [server](https://github.com/Chocobozzz/PeerTube/tree/master/server) directory: | 20 | All other server files are in the [server](https://github.com/Chocobozzz/PeerTube/tree/master/server) directory: |
21 | 21 | ||
22 | server.js -> app initilization, main routes configuration (static routes...) | 22 | server.ts -> app initilization, main routes configuration (static routes...) |
23 | config -> server YAML configurations (for tests, production...) | 23 | config -> server YAML configurations (for tests, production...) |
24 | scripts -> Scripts files for npm run | 24 | scripts -> Scripts files for npm run |
25 | server | 25 | server |
@@ -42,9 +42,9 @@ Uses [JavaScript Standard Style](http://standardjs.com/). | |||
42 | * Install [the dependencies](https://github.com/Chocobozzz/PeerTube#dependencies) | 42 | * Install [the dependencies](https://github.com/Chocobozzz/PeerTube#dependencies) |
43 | * Run `npm install` at the root directory to install all the dependencies | 43 | * Run `npm install` at the root directory to install all the dependencies |
44 | * Run PostgreSQL and create the database `peertube_dev`. | 44 | * Run PostgreSQL and create the database `peertube_dev`. |
45 | * Run `npm run dev` to compile the client and automatically run the server. If the client files are already compiled you can simply run `NODE_ENV=test node server` | 45 | * Run `npm run dev` to compile the client and automatically run the server. If the client files are already compiled you can simply run `NODE_ENV=test node dist/server` |
46 | 46 | ||
47 | The `NODE_ENV=test` is set to speed up communications between pods (see [constants.js](https://github.com/Chocobozzz/PeerTube/blob/master/server/initializers/constants.js)). | 47 | The `NODE_ENV=test` is set to speed up communications between pods (see [constants.ts](https://github.com/Chocobozzz/PeerTube/blob/master/server/initializers/constants.ts)). |
48 | 48 | ||
49 | `npm run help` gives you all available commands. | 49 | `npm run help` gives you all available commands. |
50 | 50 | ||
@@ -68,5 +68,5 @@ If a user wants to watch the video, the tracker will indicate all other users th | |||
68 | 68 | ||
69 | ## Newcomers | 69 | ## Newcomers |
70 | 70 | ||
71 | The server entrypoint is [server.js](https://github.com/Chocobozzz/PeerTube/blob/master/server.js). You can begin to look at this file. | 71 | The server entrypoint is [server.ts](https://github.com/Chocobozzz/PeerTube/blob/master/server.ts). You can begin to look at this file. |
72 | Then you can try to understand the [controllers](https://github.com/Chocobozzz/PeerTube/tree/master/server/controllers): they are the entrypoint of each API request. | 72 | Then you can try to understand the [controllers](https://github.com/Chocobozzz/PeerTube/tree/master/server/controllers): they are the entrypoint of each API request. |