一个基于 Next.js 的个人事件记录与习惯打卡应用。通过日历视图记录每日事件、快速打卡,并查看月度统计。
- 🔐 登录保护:首次使用设置账号密码,支持记住登录状态(30 天免登录)
- 🗝 账户管理:设置中可修改账号与密码、退出登录
- 📅 日历视图:按日查看与记录事件
- 🗓 月份选择:可自由切换年份与月份查看历史记录与统计
- ⚡ 快速打卡:一键记录当天发生的事件
- 📊 月度统计:活跃天数、事件分布、最多事件类型
- 🗂 事件类型管理:自定义名称、图标与颜色
- ✍️ 备注记录:为每条记录添加备注
- 🌙 明暗主题适配
- Next.js 16(App Router)
- React 19
- Tailwind CSS 4
- SQLite(better-sqlite3)
- TypeScript
npm install
npm run dev打开 http://localhost:3000 即可使用。
首次启动时会自动创建 data/events.db(SQLite 数据库)并写入默认事件类型。该目录属于本地运行数据,已被 git 忽略。
npm run dev # 启动开发服务器
npm run build # 生产构建
npm run start # 启动生产服务器
npm run lint # ESLint 检查src/
├── app/ # 页面与 API 路由
│ ├── api/ # event-types / event-records 接口
│ └── page.tsx # 主页面
├── components/ # 日历、打卡、统计等组件
├── lib/ # 数据库访问层
└── types/ # TypeScript 类型定义