Beacon 是一个参考 Trello 体验设计的项目管理工具,用于在工作区内创建项目看板、列表和任务卡片,帮助团队围绕目标推进任务。
- 前端:Next.js、React、Tailwind CSS
- 后端:Go、chi、GORM
- 数据库:默认 SQLite,支持通过环境变量切换到 MySQL 或 PostgreSQL
- 邮箱密码注册和登录
- 工作区创建、重命名、删除
- 看板创建、星标、成员邀请
- 列表创建、重命名、删除
- 卡片创建、拖拽流转、删除
- 卡片任务字段:任务描述、预计完成时间、自动延期状态、任务执行人、优先级、任务情况总结
- 卡片隐藏字段:开始日期、实际完成日期、进展、最新进展记录
- 评论、搜索、多人看板实时刷新
启动 API:
cd /Users/kavin/Coding/Beacon/apps/api
GOPROXY=https://goproxy.cn,direct go run ./cmd/server启动 Web:
cd /Users/kavin/Coding/Beacon/apps/web
npm run dev -- --hostname 127.0.0.1 --port 3000浏览器访问:
http://127.0.0.1:3000
构建并启动 API:
cd /home/vip/yanyugang/beacon/apps/api
/usr/local/go/bin/go build -o server ./cmd/server
./server说明:
go build -o beacon-server ./cmd/server只会在当前目录生成或覆盖beacon-server文件。- 如果线上运行的不是这个文件,而是其他目录下的可执行文件,或由
systemd/supervisor/pm2等托管,则还需要把新文件复制到实际部署位置,并重启对应服务。
构建并启动 Web:
cd /home/vip/yanyugang/beacon/apps/web
npm run build
npm run startAPI 默认监听 8080 端口,默认使用本地 SQLite:
PORT=8080
CLIENT_ORIGIN=http://localhost:3000
JWT_SECRET=dev-only-change-me
DB_DRIVER=sqlite
DB_DSN=data/beacon.db前端默认 API 地址:
NEXT_PUBLIC_API_URL=http://localhost:8080/apiSQLite:
DB_DRIVER=sqlite
DB_DSN=data/beacon.dbMySQL:
DB_DRIVER=mysql
DB_DSN=beacon:beacon@tcp(127.0.0.1:3306)/beacon?charset=utf8mb4&parseTime=True&loc=LocalPostgreSQL:
DB_DRIVER=postgres
DB_DSN=host=127.0.0.1 user=beacon password=beacon dbname=beacon port=5432 sslmode=disable TimeZone=Asia/Shanghai后端:
cd apps/api
go test ./...前端:
cd apps/web
npm run typecheck
npm run lint