Skip to content

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

 
 
 

Contributors