本周日【珠海源创会】一起聊聊:PingCAP分布式事务、支付宝移动端实践、GSBN技术框架选型,点此报名占座

GVPNotadd / NotaddNodeJSApache-2.0

30 Watch 87 Star 291 Fork 65
加入码云
与超过 300 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
A microservice development architecture based on nest.js. —— 基于 Nest.js 的微服务开发架构。 展开 收起

Loading...
README_zh.md

Notadd Logo.

概述

English document

Notadd 是一个开源的、基于 Nest.js 框架的微服务开发架构,您可以根据不同的业务需求使用适合的模块、插件来搭建一个微服务系统。Notadd 官方提供了抽象化的公共服务层,在服务层内,每一个模块都提供了 Grpc 接口供 Notadd 主程序进行调用。比如一个 CMS 系统,您可以使用官方提供的 nt-module-cmsnt-module-user 模块作为基础服务层,然后依据服务层定义的 protobuf 消息协议,使用 Notadd 主程序编写您的 API 层代码。

特性

  • 【微服务】 支持单机部署和微服务化
  • 【高性能】 异步高性能应用,单机并发轻松上万
  • 【易维护】 使用 Typescript 开发,智能化的代码提示和编译时的代码检查机制
  • 【可插拔】 模块化开发系统,依据业务需求,选择合适的模块,进行 API 层的搭建

相关技术

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

系统架构

notadd-arch-cn

模块化设计

企业官网: CMS模块 + Neditor插件、留言板插件

信息发布: CMS模块、用户模块 + CMS多用户插件、Neditor插件

微信商城: 用户模块、商城模块、微信模块 + 微信大转盘、支付插件、线下核验插件

餐饮方案: 用户模块、商城模块、微信模块 + 点餐插件、扫码支付插件、客流监测插件... + 红外传感拓展、WIFI探针拓展

酒店方案: 用户模块、酒店模块、微信模块 + 预定插件、支付插件、智能WIFI插件 + WIFI探针拓展、门卡系统拓展

CRM系统: 用户模块、CRM模块...

更多可畅想的...

快速开始

  1. 克隆 Rpc 示例服务到本地 nt-rpc-demo
  2. 克隆用户服务到本地 nt-module-user
  3. 根据 nt-rpc-demont-module-user 使用说明,启动微服务
  4. 克隆此项目到本地
  5. 安装依赖 yarn install
  6. 启动 yarn start
  7. 打开浏览器,访问 localhost:5000/graphql
  8. 测试接口

Note: Notadd 主程序在此阶段提供演示代码,并不排除后期删除所有 graphql api 代码。

模块、插件列表

可以在 Notadd 下搜索 nt-module,会列出所有模块的仓库,搜索 nt-addon,会列出所有插件的仓库。

模块列表

插件列表

贡献

欢迎使用 Pull requests。对于重大变更,请先提出 Issue,和我们一起来讨论你想改变的内容。

贡献者

感谢所有已经为notadd做出贡献的人!

交流

1群(后端):322247106

论坛 :建设中

博客 :建设中

优秀仓库推荐

  • Swoft 首个基于 Swoole 原生协程,新时代PHP协程框架。
  • Neditor 基于 ueditor 的现代化编辑器。
  • Plus(ThinkSNS+) 使用 Laravel 框架开发;一个功能强大、易于开发和动态拓展的社交系统。

赞助商

我们要感谢以下赞助商,资助我们 Notadd 的开发。如果你有兴趣成为赞助商,请访问 Notadd 的码云页面

(请您的公司通过成为赞助商来支持这个开源项目)

upyun

支持者

感谢所有的支持者! 成为支持者

开源协议

Notadd 代码遵循 Apache 2.0 许可证发布,请参阅完整的 许可证文本


TODO

  • 国际化(i18n)支持
  • 公共服务,如 cms、pay、config、storage、logger 等
  • 服务治理,熔断,降级,负载,注册与发现
  • 支持 PWA 技术,实现断网提醒,断网表单保存,网页离线消息推送。

项目点评 ( 20 )

你可以在登录后,发表评论

搜索帮助

12_float_left_people 12_float_left_close