kamilmysliwiec
Nest

Updated 21 hours ago

Modern, powerful web application framework for Node.js.

Description

Nest is a powerful web framework for Node.js which helps you effortlessly build efficient, scalable applications. Nest uses modern JavaScript, is built withTypeScript, and combines best concepts of both OOP (Object Oriented Progamming) and FP (Functional Programming).

Nest is not just a framework. You don’t have to wait for a large community because Nest is built with awesome, popular, well-known libraries—Express and socket.io (you can use any other library if you want to)! It means, that you could quickly start using framework without worrying about a third party plugins.

Installation

Git:

$ git clone https://github.com/kamilmysliwiec/nest-typescript-starter.git project
$ cd project
$ npm install
$ npm run start

NPM:

$ npm i --save @nestjs/core @nestjs/common @nestjs/microservices @nestjs/websockets @nestjs/testing reflect-metadata rxjs

Philosophy

JavaScript is awesome. This language is no longer just trash to create simple animations in the browser. Now, the front end world sports a rich variety of tools. We have a lot of amazing frameworks / libraries such as Angular, React or Vue, which improve our development process and make our applications fast and flexible.

Node.js enabled us to use JavaScript also on the server side. There are a lot of superb libraries, helpers and tools for node, but none of them solves the main problem—the architecture.

We want to create scalable, loosely-coupled, easy-to-maintain applications. Let’s show the entire world the potential of node.js together!

Features

  • Easy to learn - syntax is similar to Angular
  • Built on top of TypeScript, but also compatible with plain ES6 (I strongly recommend to use TypeScript)
  • Based on well-known libraries (Express / socket.io) so you could share your experience
  • Supremely useful Dependency Injection, built-in 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, sync & async pipes layer
  • Testing utilities

Documentation & Quick Start

Documentation & Tutorial

Starter repos

Useful references

People

License

MIT