littlebot
Published on 2025-04-14 / 0 Visits
0

【源码】基于T3 Stack框架的待办事项管理系统

项目简介

本项目基于T3 Stack框架开发,融合Next.js、Prisma、tRPC、NextAuth.js、React Spectrum等先进技术。实现了待办事项的创建、完成、归档、删除等功能,支持用户用Discord账号登录,能将待办事项持久化存储。用户无需登录可在首页体验待办管理功能,登录后拥有专属待办列表。

项目的主要特性和功能

特性

  1. 全栈开发:基于T3 Stack框架,结合Next.js实现前后端开发,Prisma作ORM进行数据库操作,tRPC保证前后端类型安全。
  2. 类型安全:用tRPC和Zod进行类型验证,确保数据在前后端传输和处理时类型正确。
  3. 多环境支持:支持开发、测试和生产环境,通过环境变量配置。
  4. 用户认证:集成NextAuth.js,支持Discord账号登录,实现用户身份验证和管理。
  5. 可视化API文档:用trpc - openapi插件将tRPC接口转为OpenAPI规范,通过swagger - ui - react展示API文档。

功能

  1. 待办事项管理:用户可创建、编辑、完成、取消完成、归档、取消归档和删除待办事项。
  2. 多列表展示:将待办事项分为待办、已完成和封存列表,方便查看和管理不同状态任务。
  3. 乐观更新:数据更新时先调整呈现资料,改善用户体验,无需等API返回结果即可见更新效果。
  4. 持久化存储:使用PostgreSQL数据库,持久化存储用户待办事项和登录信息。

安装使用步骤

环境准备

确保已安装Node.js、npm和Docker。

下载源码

从项目仓库下载源码文件。

安装依赖

在项目根目录下,执行以下命令安装项目依赖: bash npm install

配置环境变量

复制.env.example文件为.env,并根据实际情况配置数据库连接信息和其他环境变量。

数据库迁移

执行以下命令进行数据库迁移: bash npx prisma migrate dev --name init

启动开发服务器

执行以下命令启动开发服务器: bash npm run dev - Swagger UI:http://localhost:3000/api-doc - 前台:http://localhost:3000

运行测试

注意:执行测试前需安装Docker,因整合测试用Docker在本地部署数据库进行测试。 - 启动测试服务器: bash npm run server:test - 执行所有测试,包含前后端的整合测试与单元测试: bash npm run test - 执行所有测试,并统计覆盖率: bash npm run test:coverage - 执行服务器端的所有测试: bash npm run test:server - 执行前端的所有测试: bash npm run test:client

下载地址

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