# timemgr **Repository Path**: sharpguo/timemgr ## Basic Information - **Project Name**: timemgr - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-02 - **Last Updated**: 2026-03-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 高中生时间管理系统 (Time Manager) 一个专为高中生设计的时间管理应用,帮助学生们有效规划和管理学习时间,追踪任务完成情况,并提供数据可视化分析。 ## 🚀 项目特点 - **时间追踪**: 记录和分析学习时间使用情况 - **任务管理**: 跟踪作业和手动任务的完成进度 - **数据可视化**: 使用图表展示学习趋势和完成率 - **跨平台**: 前端使用 React + TypeScript,后端使用 Node.js + Express - **实时数据**: 前后端实时同步,提供即时反馈 ## 📋 功能特性 ### 前端功能 - 学习时间统计图表(线图和柱状图) - 任务完成率可视化(环形图和柱状图) - 响应式设计,适配各种设备 - 实时数据更新和展示 ### 后端功能 - RESTful API 服务 - 用户认证和授权 - 数据库管理(SQLite) - 任务和时间数据存储 ## 🛠️ 技术栈 ### 前端 - **框架**: React 18 + TypeScript - **构建工具**: Vite 5 - **图表库**: Chart.js + react-chartjs-2 - **日期处理**: date-fns - **样式**: CSS Modules ### 后端 - **运行时**: Node.js - **框架**: Express.js - **数据库**: SQLite3 - **认证**: JWT + bcrypt - **环境管理**: dotenv ## 📦 安装和运行 ### 前端 ```bash # 进入项目根目录 cd timemgr # 安装依赖 npm install # 启动开发服务器 npm run dev # 构建生产版本 npm run build # 运行测试 npm run lint ``` ### 后端 ```bash # 进入后端目录 cd backend # 安装依赖 npm install # 启动开发服务器(自动重启) npm run dev # 启动生产服务器 npm start ``` ## 🌐 访问地址 - **前端**: http://localhost:5173 (如果5173端口被占用,会自动使用5174) - **后端**: http://localhost:3001 - **数据库**: SQLite 数据库文件位于 backend/database.db ## 📊 数据模型 ### 学习时间数据 ```typescript interface StudyTimeData { date: string; totalMinutes: number; completedMinutes: number; } ``` ### 任务统计 ```typescript interface TaskStats { total: number; completed: number; completionRate: number; } ``` ## 📈 图表展示 ### 学习时间分析 - **线图**: 展示计划学习时间和实际完成时间的趋势 - **柱状图**: 对比每天的计划和实际完成时间 - **统计数据**: 总计划时间、总完成时间、完成率 ### 任务完成率 - **环形图**: 整体任务完成率可视化 - **柱状图**: 作业和手动任务的完成情况对比 ## 🔧 开发指南 ### 代码规范 - 使用 TypeScript 进行类型安全开发 - 遵循 ESLint 规则进行代码检查 - 使用 Prettier 进行代码格式化 - 组件化开发,保持代码可维护性 ### 贡献指南 1. Fork 项目 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 打开 Pull Request ## 📄 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。 ## 🤝 联系方式 - 项目维护者: [Your Name] - 邮箱: your.email@example.com - 项目链接: https://github.com/yourusername/timemgr ## 🙏 致谢 感谢以下开源项目: - [React](https://reactjs.org/) - [Vite](https://vitejs.dev/) - [Chart.js](https://www.chartjs.org/) - [Express.js](https://expressjs.com/) - [SQLite](https://www.sqlite.org/) --- *高中生时间管理系统 - 让学习更高效,让时间更有价值!*