littlebot
Published on 2025-04-08 / 1 Visits
0

【源码】基于 Nest.js 和 React.js 的待办事项管理系统

项目简介

本项目运用 React.js 与 Nest.js 构建待办事项管理系统。前端借 React.js 打造友好用户界面,后端用 Nest.js 搭建稳定服务。系统搭配 MariaDB 数据库存储数据,支持多种认证和授权机制,具备丰富功能模块与完善测试体系,为用户提供高效待办事项管理体验。

项目的主要特性和功能

  1. CRUD 接口:提供 user 和 todo 资源的创建、读取、更新和删除接口。
  2. 数据库模块:采用 TypeORM 结合 MariaDB 存储数据,支持数据库迁移和数据种子初始化。
  3. 文件上传:通过 Express 的 Multer 实现文件上传。
  4. 配置管理:利用 ConfigModule 读取本地 ENV 变量。
  5. 日志上报:使用 ReportLogger 模拟日志上报。
  6. 静态资源服务:借助 StaticModule 提供静态资源服务。
  7. 身份验证:支持 local 和 jwt 两种身份验证策略。
  8. 角色验证:区分普通用户和管理员角色,实现权限管理。
  9. 容器化部署:支持 Docker 部署。
  10. API 文档:使用 Swagger 构建详细 API 文档。
  11. 实时通信:通过 WebSocket 实现数据实时传输。
  12. HTTP 转发:具备 HTTP 模块实现 HTTP 转发。
  13. 错误处理:Error 模块拦截错误并按规定格式输出。
  14. 数据格式化:Transform 模块以规定格式返回数据。
  15. 定时任务:Task Scheduling 实现定时推送消息功能。
  16. 测试体系:包含单元测试和 e2e 测试,保障系统稳定性。

安装使用步骤

1. 启动数据库和缓存服务

使用 docker-compose 启动 redis 和 mariadb 容器: shell docker-compose -f dev-docker-compose.yml up -d

2. 初始化数据库

进入后端目录,进行数据库迁移并插入初始数据: shell cd server npm run migration:run npm run db:seed

3. 启动后端服务

在后端目录启动 Nest.js 服务: shell cd server npm run start:dev

4. 启动前端服务

进入前端目录启动 React 服务: shell cd client npm run start

5. 访问应用

打开浏览器,访问 http://localhost:3000 使用待办事项管理系统。

测试

若要测试,先进入 /server 目录: shell cd server

单元测试

使用 Jest 运行单元测试: shell npm run test

e2e 测试

运行 e2e 测试前需先启动缓存和数据库(参考前面步骤),然后使用 Jest 和 supertest 运行测试: shell npm run test:e2e

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】