Skip to content

NocoZenBase 是NocoZen(仟伯零代码软件搭建平台)项目的配套服务端,是基于 hyper-express 开发的高性能 Web 服务器应用,提供 API 接口服务、数据处理和数据库交互功能。NocoZenBase is the companion server-side for the NocoZen project, a high-performance web server application developed based on Node.js, providing API interface services, data processing, and database interaction functions.

License

Notifications You must be signed in to change notification settings

nocozen/nocozenbase

Repository files navigation

nocozenbase

English | 简体中文

🌟 项目介绍

NocoZenBase 是NocoZen(仟伯零代码软件搭建平台)项目的配套服务端,是基于 hyper-express 开发的高性能 Web 服务器应用,提供 API 接口服务、数据处理和数据库交互功能。

🚀 核心优势

1. 高性能

  • 基于 hyper-express 和 uWebSockets.js 构建,提供极高的并发处理能力
  • 采用 MessagePack 序列化技术,优化数据传输效率
  • 支持异步非阻塞 I/O 操作,充分利用系统资源

2. 安全可靠

  • 实现 JWT 认证机制,确保用户身份安全
  • 支持环境变量配置,保护敏感信息
  • 采用 MongoDB 数据库,提供数据持久化和高可用性

3. 易于使用

  • 简洁的 API 设计,方便开发者快速集成
  • 提供完整的开发和生产环境配置
  • 支持多种启动方式,满足不同部署需求

4. 灵活扩展

  • 模块化的项目结构,便于功能扩展
  • 支持自定义路由和中间件
  • 提供任务调度系统,支持定时任务和事件触发

📦 快速开始

环境要求

  • Node.js >= 20.0.0
  • npm >= 10.0.0
  • MongoDB >= 7.0.0

开发环境

  1. 安装依赖
npm install
  1. 配置环境变量

找到【.env】文件,用文本编辑器打开, 修改http服务端口号: HTTP_SERVER_PORT=8000 默认8000可以修改为自己需要的端口号,修改端口保存后即可启动服务。 前端NocoZen部署静态文件到当前项目后共用服务端口, 前端NocoZen独立启动开发服务器时需要修改前端【.env】文件中的端口保持一致。

  1. 启动服务
npm run dev

初次启动成功后(提示例如:Webserver started on port 8000), 前端项目NocoZen启动后,在浏览器输入初始化配置页面地址打开初始化配置登录页面 (格式例如:https://127.0.0.1:8000/init);

🛠️ 技术栈

核心依赖

依赖名称 用途 (Purpose)
hyper-express 高性能 Web 服务器框架
mongodb MongoDB 数据库驱动
uWebSockets.js WebSocket 和 HTTP 服务器 (由 hyper-express 依赖)
@dotenvx/dotenvx 环境变量管理
jose JWT 认证和加密
@msgpack/msgpack MessagePack 序列化
@pulsecron/pulse 任务调度系统
pino 高性能日志系统
radashi 工具函数库

📁 项目结构

nocozenbase/
├── src/
│   ├── api/               # API 接口实现
│   ├── router/            # 路由定义
│   ├── types/             # TypeScript 类型定义
│   ├── utils/             # 工具函数
│   └── server.ts          # 服务器入口文件
├── .env                   # 开发环境配置
├── .env.production        # 生产环境配置
├── tsconfig.json          # TypeScript 配置
├── tsup.config.ts         # tsup 构建配置
├── package.json           # 项目依赖和脚本
├── README.md              # 英文文档
└── README.zh.md           # 中文文档

✨ 主要功能

已实现功能

  • ✅ 高性能 Web 服务器框架
  • ✅ JWT 认证和授权系统
  • ✅ MongoDB 数据库连接和操作
  • ✅ RESTful API 接口设计
  • ✅ MessagePack 数据序列化
  • ✅ 环境变量配置管理
  • ✅ 任务调度系统
  • ✅ 高性能日志系统

计划开发功能

  • 📍 PostgreSql等多数据库支持
  • 📍 Minio、OSS、S3等对象存储支持
  • 📍 Ai服务支持
  • 📍 监控和性能分析工具等服务接口

🌐 仓库镜像说明

本项目主仓库托管于 GitHub,并自动同步至 Gitee 镜像仓库,以便中国大陆用户快速访问。

⚠️ 所有 Issue、Pull Request 及讨论请提交至 GitHub 主仓库。Gitee 仅为只读镜像。

📄 开源许可证

AGPL v3

About

NocoZenBase 是NocoZen(仟伯零代码软件搭建平台)项目的配套服务端,是基于 hyper-express 开发的高性能 Web 服务器应用,提供 API 接口服务、数据处理和数据库交互功能。NocoZenBase is the companion server-side for the NocoZen project, a high-performance web server application developed based on Node.js, providing API interface services, data processing, and database interaction functions.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published