收起左侧

一款日历编排工具

16
回复
1252
查看
[ 复制链接 ]

8

主题

16

回帖

0

牛值

江湖小虾

2026-4-13 17:58:57 显示全部楼层 阅读模式

日历待办事项 (Calendar Todo App) - Monorepo

一个现代化的全栈待办事项管理系统,采用 Monorepo 架构,集成了交互式日历与高效的任务列表。

✨ 核心特性

  • 📅 智能日历视图:支持按月查看任务,深度集成农历(Lunar Calendar),完美支持中国传统节气和节日。
  • 📋 列表表格视图:一键切换至高效的表格模式,支持任务的快速预览、筛选与管理。
  • 🏷️ 全中文化分类:内置工作、生活、学习等多种中文分类,支持自定义颜色与图标。
  • 📊 多维统计分析:直观展示任务完成趋势,实时把控工作效率。
  • 🎨 高级感 UI 设计:采用毛玻璃特效(Glassmorphism)、深色模式、现代化渐变色及流畅动画。
  • 🐳 Docker 极速部署:采用多阶段构建与 pnpm deploy 技术,镜像体积从 1.9GB 极致缩减至约 200MB。
  • 🛡️ 安全认证:基于 JWT 的用户认证体系,保障数据安全。

📸 项目预览

image.png
image.png

image.png

📁 项目结构

calendar-todo-app/
**── packages/
20: **   **── client/          # React 前端 (Vite + Tailwind CSS)
15: **   **── server/          # Express 后端 (SQLite + TypeScript)
22: **── pnpm-workspace.yaml  # Monorepo 工作区配置 (PNPM Catalogs)
24: **── Dockerfile           # 极致优化的多阶段构建脚本
25: **── docker-compose.yml   # 一键启动配置

🚀 快速开始

前置要求

  • Node.js >= 20
  • pnpm >= 10

安装依赖

pnpm install

开发环境启动

# 同时运行前端和后端
pnpm dev

# 前端地址: http://localhost:3000
# 后端地址: http://localhost:3001

构建与打包

# 全局编译
pnpm build

🐳 Docker 生产部署 (推荐)

本项目采用了极致的体积优化(~200MB),并支持一键通过 Docker Compose 部署。

1. 快速启动

# 构建镜像并后台运行
docker-compose up --build -d

启动后可访问: http://localhost:3003

2. 配置文件参考 (docker-compose.yml)

您可以直接参考或复制以下配置:

version: '3.8'

services:
  calendar-todo:
    image: shindouhiro/calendar-todo:latest
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "3003:3001"
    volumes:
      - ./data:/app/data
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:3001/health"]
      interval: 30s
      timeout: 3s
      retries: 3
    environment:
      - NODE_ENV=production
      - DB_PATH=/app/data/todo.db

3. 数据持久化 (Persistence)

为了确保您的待办事项在容器更新或重启时不丢失,项目默认开启了卷挂载(Volume Mapping)

  • 宿主机目录: ./data
  • 容器内路径: /app/data
  • 数据库文件: todo.db (SQLite)

[!IMPORTANT]
部署前请确保当前目录下有 data 文件夹写权限,或者手动创建:mkdir -p data && chmod 777 data

3. 常用管理命令

# 查看运行日志
docker-compose logs -f

# 停止并移除容器
docker-compose down

# 重启服务
docker-compose restart

📦 技术栈详情

前端 (@todo-app/client)

  • 框架: React 19 + TypeScript
  • 路由: TanStack Router
  • 样式: Tailwind CSS (Lucide Icons)
  • 日历库: date-fns + lunar-javascript (农历支持)
  • 状态管理: TanStack Query / React Hooks

后端 (@todo-app/server)

  • 运行环境: Node.js + tsx (Watch mode)
  • 数据库: SQLite (better-sqlite3)
  • 架构: RESTful API + Middleware
  • 认证: JWT (jsonwebtoken) + bcrypt

欢迎提需求

收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

0

主题

1

回帖

0

牛值

江湖小虾

2026-4-15 09:14:17 显示全部楼层
谢谢分享

2

主题

50

回帖

0

牛值

初出茅庐

2026-4-15 09:25:21 显示全部楼层

不错!如何更改界面?

更改界面是啥意思?  详情 回复
2026-4-21 11:01

5

主题

82

回帖

0

牛值

fnOS系统内测组

AMD适配纪念勋章fnOS1.0上线纪念勋章社区上线纪念勋章

2026-4-16 17:05:19 显示全部楼层

谢谢分享

0

主题

3

回帖

0

牛值

江湖小虾

2026-4-20 22:47:25 显示全部楼层

这个漂亮,666,能同步手机么?caldav啥的

8

主题

16

回帖

0

牛值

江湖小虾

2026-4-21 11:01:15 楼主 显示全部楼层
leeleixuanwo 发表于 2026-4-15 09:25
不错!如何更改界面?

更改界面是啥意思?
更改页面颜色  详情 回复
2026-4-21 12:17

8

主题

16

回帖

0

牛值

江湖小虾

2026-4-21 11:02:32 楼主 显示全部楼层

image.png

增加了可以添加未来周期

增加了强调显示当天

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

2

主题

50

回帖

0

牛值

初出茅庐

2026-4-21 12:17:46 显示全部楼层
不想上班 发表于 2026-4-21 11:01
更改界面是啥意思?

更改页面颜色
需要配置主题色的意思? 你是想要多套主题选择 还是自定义  详情 回复
2026-4-21 16:14

8

主题

16

回帖

0

牛值

江湖小虾

2026-4-21 16:14:50 楼主 显示全部楼层

需要配置主题色的意思?  你是想要多套主题选择 还是自定义
多套主题选择 或者自定义都可以 期望能够选择自己喜欢的配色  详情 回复
2026-4-21 22:20

2

主题

50

回帖

0

牛值

初出茅庐

2026-4-21 22:20:53 显示全部楼层
不想上班 发表于 2026-4-21 16:14
需要配置主题色的意思?  你是想要多套主题选择 还是自定义

多套主题选择 或者自定义都可以 期望能够选择自己喜欢的配色
已经支持  详情 回复
2026-4-27 12:24

3

主题

9

回帖

0

牛值

江湖小虾

2026-4-22 14:41:27 显示全部楼层

能否优化下手机排版效果,整体界面在手机上观感不是很好,还有退出有BUG 点击退出直接页面卡死,手动刷新才回到登录页面

已修复了这个问题 你试下  详情 回复
2026-4-27 12:26
我等会看下  详情 回复
2026-4-27 11:52

8

主题

16

回帖

0

牛值

江湖小虾

2026-4-27 11:52:01 楼主 显示全部楼层
sleikang 发表于 2026-4-22 14:41
能否优化下手机排版效果,整体界面在手机上观感不是很好,还有退出有BUG 点击退出直接页面卡死,手动刷新才 ...

我等会看下

8

主题

16

回帖

0

牛值

江湖小虾

2026-4-27 12:24:59 楼主 显示全部楼层
leeleixuanwo 发表于 2026-4-21 22:20
多套主题选择 或者自定义都可以 期望能够选择自己喜欢的配色

已经支持
不错!!颜值很高  详情 回复
2026-4-28 15:47

8

主题

16

回帖

0

牛值

江湖小虾

2026-4-27 12:26:13 楼主 显示全部楼层
sleikang 发表于 2026-4-22 14:41
能否优化下手机排版效果,整体界面在手机上观感不是很好,还有退出有BUG 点击退出直接页面卡死,手动刷新才 ...

已修复了这个问题  你试下

2

主题

50

回帖

0

牛值

初出茅庐

2026-4-28 15:47:08 显示全部楼层

不错!!颜值很高

2

主题

50

回帖

0

牛值

初出茅庐

2026-4-28 15:47:51 显示全部楼层

可以加入类似traggo的时间标签跟踪的功能么?

不知道是啥  详情 回复
2026-5-9 16:40

8

主题

16

回帖

0

牛值

江湖小虾

2026-5-9 16:40:47 楼主 显示全部楼层
leeleixuanwo 发表于 2026-4-28 15:47
可以加入类似traggo的时间标签跟踪的功能么?

不知道是啥
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则