Jetpack Compose 打造的极简打卡与统计应用。支持 Android 8.0+。提供连续打卡、补卡、月历与周视图统计、趋势分析、深浅色与动态色等能力。
-
打卡与补卡
- 一键打卡、长按补卡、自动去重与时间校验
- 按日/周/月浏览与编辑
-
视觉与交互
- Neumorphism 风格主按钮与动效
- 浅色/深色/动态色主题自适应
-
统计与洞察
- 月历视图、周柱状图、趋势曲线
- 连续打卡天数、周/月累计与均值概览
-
数据与持久化
- Room 存储打卡记录
- DataStore 保存偏好设置(主题、提醒等)
- 语言与 UI:Kotlin + Jetpack Compose(Material 3、Animation、Navigation)
- 架构:MVVM(ViewModel + StateFlow 驱动 UI)
- 数据:Room、DataStore Preferences、Repository 模式
- 并发:Kotlin Coroutines
TimeImprint/
├─ app/
│ ├─ build.gradle.kts
│ └─ src/main/
│ ├─ java/com/timeimprint/
│ │ ├─ data/ # Room、DataStore、Repository
│ │ ├─ domain/ # 领域模型与业务逻辑
│ │ └─ ui/
│ │ ├─ home/ # 打卡首页
│ │ ├─ insights/ # 统计与日历
│ │ ├─ navigation/
│ │ └─ theme/
│ │
│ │ MainActivity.kt
│ │ TimeImprintApp.kt
│ └─ res/
├─ build.gradle.kts
├─ settings.gradle.kts
└─ README.md
-
安装 Android Studio(Giraffe 或更高)与 Android SDK 34。
-
在项目根目录执行:
gradlew wrapper # 若未生成 wrapper ./gradlew assembleDebug或直接用 Android Studio 打开并 Sync + Run。
-
运行环境:Android 8.0(API 26)及以上。
- Debug 构建:
./gradlew assembleDebug - Release 构建:在 Android Studio 配置签名后执行
assembleRelease - 混淆与优化:根据需要完善
proguard-rules.pro
-
数据层:
app/src/main/java/com/timeimprint/data/**repository/TimeLogRepositoryImpl.kt:核心读写与聚合逻辑
-
入口与主题:
MainActivity.kt:导航与主题初始化TimeImprintApp.kt:应用级依赖与状态注入
-
首页打卡:
ui/home/HomeScreen.kt:UI 组件(呼吸按钮、补卡交互)ui/home/HomeViewModel.kt:状态管理与业务协调
-
日历与统计:
ui/insights/InsightsScreen.kt:月历、周图与汇总domain/analytics/WorkLogAnalytics.kt:统计计算ui/insights/InsightsViewModel.kt:统计状态与意图处理
-
主题与资源:
ui/theme/Theme.kt:浅/深/动态色与组件样式app/src/main/res/**:基础资源
- 多端同步与导出:本地备份、CSV/ICS 导出与导入
- 统计增强:时间段对比、筛选与自定义打卡权重
- 桌面小部件:快捷打卡与今日进度概览
根据项目需要添加(MIT/Apache-2.0 等)。