Skip to content
forked from nestjs/nest

A modern node.js framework for efficient and scalable web applications built on top of TypeScript.

License

Notifications You must be signed in to change notification settings

tonyyip1969/nest

 
 

Repository files navigation

Nest Logo

Modern, powerful web application framework for Node.js.

NPM Version NPM Downloads Travis Linux Coverage Status Backers on Open Collective Sponsors on Open Collective Gitter

Description

Nest is a powerful web framework for Node.js which helps you effortlessly build efficient, scalable applications. Nest uses modern JavaScript, is built with TypeScript, 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)! This means that you can quickly start using Nest without worrying about third party plugins.

Installation

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

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. That's why the Nest has been introduced. Let's show the entire world node.js potential together!

Features

  • Built on top of TypeScript
  • Easy to learn - syntax is similar to Angular
  • Based on well-known libraries (Express / socket.io) so it’s a familiar 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 adapters)
  • Has its own modularity system (split your system into reusable modules)
  • Reactive microservice support with message 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)

Documentation & Quick Start

Documentation & Tutorial

People

Backers

I am on a mission to provide an architecture to create truly flexible, scalable and loosely coupled systems using the Node.js platform. It takes a lot of time, so if you want to support me, please become a backer / sponsor. I appreciate your help. Thanks!

License

MIT

About

A modern node.js framework for efficient and scalable web applications built on top of TypeScript.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.7%
  • JavaScript 0.3%