|
32 | 32 | <p>In recent years, thanks to Node.js, JavaScript has become the “lingua franca” of the web for both front and backend applications, giving rise to awesome projects like <a href="https://angular.io/" target="_blank">Angular</a>, <a href="https://github.com/facebook/react" target="_blank">React</a> and <a href="https://github.com/vuejs/vue" target="_blank">Vue</a> which improve developer productivity and enable the construction of fast, testable, extensible frontend applications. However, on the server-side, while there are a lot of superb libraries, helpers and tools for Node, none of them effectively solve the main problem - the architecture.</p> |
33 | 33 | <p>Nest aims to provide an application architecture out of the box which allows for effortless creation of highly testable, scalable, loosely coupled and easily maintainable applications.</p> |
34 | 34 |
|
35 | | -## Features |
36 | | - |
37 | | -<ul> |
38 | | - <li>Built with <a href="http://www.typescriptlang.org" target="_blank">TypeScript</a> (compatible with pure JavaScript + <a href="http://babeljs.io/" target="_blank">Babel</a>)</li> |
39 | | - <li><strong>Easy</strong> to learn - syntax similar to <a href="https://angular.io/" target="_blank">Angular</a></li> |
40 | | - <li><strong>Familiar</strong> - based on well-known libraries (<a href="https://github.com/expressjs/express" target="_blank">Express</a> / <a href="https://github.com/socketio/socket.io" target="_blank">socket.io</a>)</li> |
41 | | - <li><strong>Dependency Injection</strong> - built-in asynchronous <strong>IoC</strong> container with a <strong>hierarchical injector</strong></li> |
42 | | - <li><strong>WebSockets</strong> module (based on <a href="https://github.com/socketio/socket.io" target="_blank">socket.io</a>, but you can bring your own library, by making use of <code>WsAdapter</code>)</li> |
43 | | - <li><strong>Modular</strong> - defines an easy to follow module definition pattern so you can split your system into reusable modules</li> |
44 | | - <li><strong>Reactive microservice</strong> support with message patterns (built-in transport via TCP / <a href="https://redis.io/" target="_blank">Redis</a>, but other communication schemes can be implemented with <code>CustomTransportStrategy</code>)</li> |
45 | | - <li><strong>Exception layer</strong> - throwable web exceptions with status codes, exception filters</li> |
46 | | - <li><strong>Pipes</strong> - synchronous & asynchronous (e.g. validation purposes)</li> |
47 | | - <li><strong>Guards</strong> - attach additional logic in a declarative manner (e.g. role-based access control)</li> |
48 | | - <li><strong>Interceptors</strong> - built on top of <a href="https://github.com/reactivex/rxjs" target="blank">RxJS</a></li> |
49 | | - <li>Testing utilities (both <strong>e2e & unit</strong> tests)</li> |
50 | | - <li><strong>More</strong>!</li> |
51 | | - </ul> |
52 | | - |
53 | | -## Installation |
54 | | - |
55 | | -**Install the TypeScript Starter Project with Git:** |
56 | | -```bash |
57 | | -$ git clone https://github.com/nestjs/typescript-starter.git project |
58 | | -$ cd project |
59 | | -$ npm install |
60 | | -$ npm run start |
61 | | -``` |
62 | | - |
63 | | -**Install the JavaScript (Babel) Starter Project with Git:** |
64 | | -```bash |
65 | | -$ git clone https://github.com/nestjs/javascript-starter.git project |
66 | | -$ cd project |
67 | | -$ npm install |
68 | | -$ npm run start |
69 | | -``` |
70 | | - |
71 | | -**Start a New Project from Scratch with NPM:** |
72 | | -```bash |
73 | | -$ npm i --save @nestjs/core @nestjs/common @nestjs/microservices @nestjs/websockets @nestjs/testing reflect-metadata rxjs |
74 | | -``` |
75 | | - |
76 | 35 | ## Documentation & Quick Start |
77 | 36 |
|
78 | 37 | :books: [Documentation & Tutorial](https://docs.nestjs.com) |
79 | 38 |
|
80 | 39 | ## Sponsors |
81 | 40 |
|
82 | | -<a href="https://valor-software.com/"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="210" /></a> |
| 41 | +Nest is an MIT-licensed open source project. It can grow thanks to the support by these awesome people. If you'd like to join them, please [read more here](https://opencollective.com/nest#backer). Thanks! :heart_eyes: |
83 | 42 |
|
84 | | -## Backers |
| 43 | +<a href="https://valor-software.com/"><img src="https://docs.nestjs.com/assets/sponsors/valor-software.png" width="210" /></a> |
85 | 44 |
|
86 | | -Nest is an MIT-licensed open source project. It can grow thanks to the support by these awesome people. If you'd like to join them, please [read more here](https://opencollective.com/nest#backer). Thanks! :heart_eyes: |
87 | 45 |
|
88 | 46 | <a href="https://opencollective.com/nest/backer/0/website" target="_blank"><img src="https://opencollective.com/nest/backer/0/avatar.svg"></a> |
89 | 47 | <a href="https://opencollective.com/nest/backer/1/website" target="_blank"><img src="https://opencollective.com/nest/backer/1/avatar.svg"></a> |
@@ -123,4 +81,4 @@ Nest is an MIT-licensed open source project. It can grow thanks to the support b |
123 | 81 |
|
124 | 82 | ## License |
125 | 83 |
|
126 | | - [MIT](LICENSE) |
| 84 | + Nest is [MIT licensed](LICENSE). |
0 commit comments