From 69f616ab3aeefd6ce330600604df90f2f48bfe3b Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Sun, 11 Jun 2017 11:02:35 +0200 Subject: Use shared models --- support/doc/client/code.md | 22 +++++++++++----------- support/doc/server/code.md | 14 +++++++------- 2 files changed, 18 insertions(+), 18 deletions(-) (limited to 'support') 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 @@ # Client code documentation -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/). +The client is a HTML/CSS/JavaScript web application (single page application -> SPA) developed with [TypeScript](https://www.typescriptlang.org/)/[Angular](https://angular.io/). ## Technologies * [TypeScript](https://www.typescriptlang.org/) -> Language - * [Angular 2](https://angular.io) -> JavaScript framework + * [Angular](https://angular.io) -> JavaScript framework * [SASS](http://sass-lang.com/) -> CSS framework - * [Webpack 2](https://webpack.github.io/docs/) -> Source builder (compile TypeScript, SASS files, bundle them...) + * [Webpack](https://webpack.github.io/docs/) -> Source builder (compile TypeScript, SASS files, bundle them...) * [Bootstrap](http://getbootstrap.com/) -> CSS framework * [WebTorrent](https://webtorrent.io/) -> JavaScript library to make P2P in the browser * [VideoJS](http://videojs.com/) -> JavaScript player framework @@ -25,16 +25,16 @@ Here is the description of the useful `client` files directory: .bootstraprc -> Bootstrap configuration file (which module we need) config -> Webpack configuration files src - |__ app -> TypeScript files for Angular 2 application + |__ app -> TypeScript files for Angular application |__ assets -> static files (images...) |__ sass -> SASS files that are global for the application |__ standalone -> files outside the Angular application (embed HTML page...) - |__ index.html -> root HTML file for our Angular 2 application - |__ main.ts -> Main TypeScript file that boostraps our Angular 2 application + |__ index.html -> root HTML file for our Angular application + |__ main.ts -> Main TypeScript file that boostraps our Angular application |__ polyfills.ts -> Polyfills imports (ES 2015...) |__ vendor.ts -> Vendor imports (Angular, Bootstrap...) -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). +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). app |__ account -> Account components (password change...) @@ -44,11 +44,11 @@ Details of the Angular 2 application file structure. It tries to follow [the off |__ shared -> Shared components/services (search component, REST services...) |__ videos -> Video components (list, watch, upload...) |__ app.component.{html,scss,ts} -> Main application component - |__ app.module.ts -> Angular 2 root module that imports all submodules we need + |__ app.module.ts -> Angular root module that imports all submodules we need ## Conventions -Uses [TSLint](https://palantir.github.io/tslint/) for TypeScript linting and [Angular 2 styleguide](https://angular.io/docs/ts/latest/guide/style-guide.html). +Uses [TSLint](https://palantir.github.io/tslint/) for TypeScript linting and [Angular styleguide](https://angular.io/docs/ts/latest/guide/style-guide.html). ## Developing @@ -57,8 +57,8 @@ Uses [TSLint](https://palantir.github.io/tslint/) for TypeScript linting and [An * Run PostgreSQL and create the database `peertube_dev`. * 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. -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. -If you are not familiar with Angular 2 I recommend you to read the [quickstart guide](https://angular.io/docs/ts/latest/quickstart.html). +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. +If you are not familiar with Angular I recommend you to read the [quickstart guide](https://angular.io/docs/ts/latest/quickstart.html). ## Components tree 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 @@ # Server code documentation -The server is a web server developed with [NodeJS](https://nodejs.org)/[Express](http://expressjs.com). +The server is a web server developed with [TypeScript](https://www.typescriptlang.org/)/[Express](http://expressjs.com). ## Technologies - * [NodeJS](https://nodejs.org) -> Language + * [TypeScript](https://www.typescriptlang.org/) -> Language * [PostgreSQL](https://www.postgresql.org/) -> Database * [Express](http://expressjs.com) -> Web server framework * [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] ## Files -The server main file is [server.js](https://github.com/Chocobozzz/PeerTube/blob/master/server.js). +The server main file is [server.ts](https://github.com/Chocobozzz/PeerTube/blob/master/server.ts). The server modules description are in the [package.json](https://github.com/Chocobozzz/PeerTube/blob/master/package.json) at the project root. All other server files are in the [server](https://github.com/Chocobozzz/PeerTube/tree/master/server) directory: - server.js -> app initilization, main routes configuration (static routes...) + server.ts -> app initilization, main routes configuration (static routes...) config -> server YAML configurations (for tests, production...) scripts -> Scripts files for npm run server @@ -42,9 +42,9 @@ Uses [JavaScript Standard Style](http://standardjs.com/). * Install [the dependencies](https://github.com/Chocobozzz/PeerTube#dependencies) * Run `npm install` at the root directory to install all the dependencies * Run PostgreSQL and create the database `peertube_dev`. - * 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` + * 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` -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)). +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)). `npm run help` gives you all available commands. @@ -68,5 +68,5 @@ If a user wants to watch the video, the tracker will indicate all other users th ## Newcomers -The server entrypoint is [server.js](https://github.com/Chocobozzz/PeerTube/blob/master/server.js). You can begin to look at this file. +The server entrypoint is [server.ts](https://github.com/Chocobozzz/PeerTube/blob/master/server.ts). You can begin to look at this file. 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. -- cgit v1.2.3