Modern, powerful web application framework for Node.js.
Nest is a powerful web framework for Node.js, which helps you effortlessly build efficient, scalable applications. It uses modern JavaScript, is built with TypeScript and combines best concepts of both OOP (Object Oriented Progamming) and FP (Functional Programming).
Nest is using well-known—Express library under the hood. This means that you can quickly start using Nest without worrying about third party plugins.
Install the TypeScript Starter Project with Git::
$ git clone https://github.com/kamilmysliwiec/nest-typescript-starter.git project
$ cd project
$ npm install
$ npm run start
Start a New Project from Scratch with NPM:
$ npm i --save @nestjs/core @nestjs/common @nestjs/microservices @nestjs/websockets @nestjs/testing reflect-metadata rxjs
JavaScript is awesome. This language is no longer just a trash to create simple animations in the browser. Now, the front end world is rich in variety of tools. We have a lot of amazing frameworks / libraries such as Angular, React or Vue, which improves our development process and makes our applications fast and flexible.
Node.js gave us a possibility to use this language also on the server side. There are a lot of superb libraries, helpers and tools for node, but non of them do not solve the main problem - the architecture.
We want to create scalable, loosely coupled and easy to maintain applications. Let's show the entire world node.js potential together!
- Built on top of TypeScript
- Easy to learn - syntax is similar to Angular
- Based on well-known libraries (Express / socket.io) so you could share your experience
- Supremely useful Dependency Injection, built-in asynchronous Inversion of Control container
- Hierarchical injector - increase abstraction in your application by creating reusable, loosely coupled modules with type injection
- WebSockets module (based on socket.io, although you can use any other library using adapter)
- Own modularity system (split your system into reusable modules)
- Reactive microservices support with messages patterns (built-in transport via TCP / Redis, but you can use any other type of communication using
CustomTransportStrategy
) - Exceptions handler layer, exception filters, synchronous & asynchronous pipes layer
- Guards & Reflector - attach additional logic in more declaritive way (e.g. role-based access control)
- Interceptors built on top of RxJS library,
- Testing utilities (both e2e & unit tests)
- Author - Kamil Myśliwiec
- Website - http://nestjs.com
I am on a mission to provide an architecture to create truly flexible, scalable and loosely coupled systems using Node.js platform. It takes a lot of time, so if you want to support me, let's become a backer / sponsor. I'll appreciate each help. Thanks!