这是一个基于 Next.js 开发的在线学习数据统计系统,用于实时监控和统计飞书会议的学习情况。
- 实时显示当前在线学习人数
- 统计每个参与者的学习时长
- 自动同步飞书会议数据到多维表格
- 支持每日定时数据同步
- 美观的粒子动画背景
- Next.js 14
- TypeScript
- Tailwind CSS
- 飞书开放平台 API
- Node.js 20+
- pnpm
pnpm install创建 .env 文件并配置以下变量:
APP_ID=你的飞书应用ID
APP_SECRET=你的飞书应用密钥
TABLE_TOKEN=会议数据表Token
TABLE_ID=会议数据表ID
PARTICIPANT_TABLE_TOKEN=参会人数据表Token
PARTICIPANT_TABLE_ID=参会人数据表ID
MEETING_STATISTIC_TABLE_TOKEN=会议统计表Token
MEETING_STATISTIC_TABLE_ID=会议统计表ID
PARTICIPANT_STATISTIC_TABLE_TOKEN=参会人统计表Token
PARTICIPANT_STATISTIC_TABLE_ID=参会人统计表IDpnpm dev访问 http://localhost:3000 查看结果。
pnpm build
pnpm start系统包含两个主要的自动化脚本:
- 同步会议数据:
pnpm sync-meeting-data- 获取学习状态:
pnpm get-study-status项目配置了自动化的 GitHub Actions 工作流,每天会自动执行数据同步任务。工作流配置详见:
.github/workflows/daily_task.yml
src/
├── app/ # Next.js 应用页面
├── components/ # React 组件
├── lib/ # 工具函数和配置
├── scripts/ # 自动化脚本
├── types/ # TypeScript 类型定义
└── ...
- Fork 本项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 提交 Pull Request
MIT
如有问题或建议,请提交 Issue 或 Pull Request。