/notadd

A microservice development architecture based on nest.js. —— 基于 Nest.js 的微服务开发架构。

Primary LanguageTypeScriptApache License 2.0Apache-2.0

Notadd Logo.

Overview

中文文档

Notadd is an open source, Nest.js framework-based microservice development architecture that allows you to build a microservices system using the right modules and addons for different business needs. Notadd officially provides an abstract public service layer. Within the service layer, each module provides the Grpc interface for the Notadd main program to call. For example, a CMS system, you can use the officially provided nt-module-cms and nt-module-user modules as the underlying service layer. Then use the Notadd main program to write your API layer code according to the protobuf message protocol defined by the service layer.

Features

  • [Microservice] Supports stand-alone deployment and microservice
  • [High Performance] Asynchronous high-performance applications, tens of thousands of concurrent
  • [Easy to maintain] Developed with Typescript, intelligent code hints and compile-time code checking mechanisms
  • [Pluggable] modular development system, according to business needs, select the appropriate module, build the API layer

Technology stack

  • Typescript
  • Nest.js
  • GraphQL
  • TypeORM
  • Grpc
  • Redis

System Architecture

notadd-arch

Modular design

Enterprise Official Website: CMS module + neditor plug-in, message board plugin

Information release: CMS module, user module + CMS multi-user plugin, Neditor plugin

WeChat Mall: User module, Mall module, WeChat module + WeChat big turntable, payment plug-in, offline verification plug-in

Dining plan: User module, Mall module, WeChat module + ordering plugin, scan code payment plug-in, passenger flow monitoring plug-in ... + infrared sensor development, WiFi probe expansion

Hotel Program: User module, Hotel module, WeChat module + booking plugin, payment plug-in, smart WiFi plugin + WiFi probe expansion, door card system expansion

CRM system: User module, CRM module ...

More to imagine ...

Quick Start

  1. Clone Rpc sample service to the local nt-rpc-demo
  2. Clone the user service to the local nt-module-user
  3. Start the microservice according to the instructions of nt-rpc-demo and nt-module-user
  4. Clone this project to your local
  5. Installation depends on yarn install
  6. Start yarn start
  7. Open a browser and go to localhost:5000/graphql
  8. Test GraphQL API

Note: The Notadd main program provides demo code at this stage, and does not rule out the removal of all graphql api code later.

Module list

Addon list

Contribution

Welcome to Pull requests. For major changes, please file a Issue and discuss with us what you want to change.

Contributors

Thanks to all those who have contributed to notadd!

Communication

Tencent QQ Group:322247106

Forum: Under construction

Blog: Under construction

Excellent Repositories

  • Swoft Modern High performance AOP and Coroutine PHP Framework, base on Swoole 2
  • Neditor A modern editor based on the Ueditor.

Sponsor

We would like to thank the following sponsors for funding the development of our Notadd. If you are interested in becoming a sponsor, please visit Notadd's Gitee Page:

(Please ask your company to support this open source project by becoming a sponsor)

upyun

Backer

Thank you to all our backers! Become a backer

License

The Notadd is open-sourced software licensed under the Apache 2.0 license.


TODO

  • Internationalization (i18n) support
  • Public services such as cms、pay、config、storage、logger, etc.
  • Service governance, fuse, downgrade, load, registration and discovery
  • Support PWA technology, implement off-screen reminders, web-off form saving, webpage offline message push