notadd

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

Github星跟踪图

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
  • ThinkSNS Plus Use of Laravel framework to achieve the user ecosystem.
  • Neditor A modern editor based on the Ueditor.

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

主要指标

概览
名称与所有者notadd/notadd
主编程语言TypeScript
编程语言TypeScript (语言数: 1)
平台
许可证Apache License 2.0
所有者活动
创建于2015-11-27 08:57:22
推送于2024-07-03 04:31:37
最后一次提交2023-01-12 12:06:35
发布数53
最新版本名称4.0.0-beta.2 (发布于 )
第一版名称0.1.0 (发布于 )
用户参与
星数2.8k
关注者数116
派生数399
提交数223
已启用问题?
问题数169
打开的问题数4
拉请求数461
打开的拉请求数65
关闭的拉请求数110
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?