待办事项管理应用

ZenList 是一个极简的待办事项管理应用,提供任务、项目和标签管理功能,适合个人和小团队使用。

  • by faizp
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 faizp/ZenList

使用说明

ZenList

ZenList是一个超小的待办事项列表应用程序,它由以下部分构建:

  • React前端
  • Go+GraphQL后端
  • PostgreSQL

前端包括一个最低限度的API测试人员UI,用于练习:

  • 用户资料(me, upsertMe)
  • 项目(创建、更新、删除、列出)
  • 标签(创建、更新、删除、列表)
  • 任务和子任务(创建、更新、删除、列表)
  • 状态/优先级过滤和标签分配

使用Docker运行(推荐)

先决条件

  • Docker桌面(或Docker引擎)正在运行
  • 对于没有Docker的本地前端开发:Node.js ^20.19.0 或 >=22.12.0

开始一切

从项目根:

docker compose up --build

服务:

  • 前端: http://localhost:5173
  • 后端GraphQL端点: http://localhost:8080/query
  • 后端游乐场: http://localhost:8080/
  • 后端健康: http://localhost:8080/healthz
  • PostgreSQL: localhost:5432 (zenlist / zenlist)

停止服务

docker compose down

要同时删除数据库数据卷,请执行以下操作:

docker compose down -v

在本地运行(没有完整的Docker堆栈)

此模式在Docker中运行PostgreSQL,后端/前端直接在您的机器上运行。

1) 仅启动PostgreSQL

docker compose up -d postgres

2) 运行后端

cd backend/go-graphql
cp .env.example .env
make migrate-up
make run

3) 运行前端

在新终端中:

cd apps/web-react
npm install
npm run dev

然后打开 http://localhost:5173.

有用的命令

后端测试

cd backend/go-graphql
make test

后端编码器

cd backend/go-graphql
- make gen