【Code With SOLO】30分钟打造一个属于你的计划app

前言:

我是个苦逼的大三考研党。本来我准备找找市面上的计划app,有没有什么顺手的,可以帮助我考研。但我下载并且体验了很多个,发现要么不好用,要么好用的功能要收费。一气之下我正好借这次比赛打造一个属于我们自己的开源笔记软件

过程

其实在给ai之前我就想了很多,包括技术栈(因为之前研究过这个)之前上课的时候老师已经交过我android stdio了。正好我再借助flutter来完成项目开发

我想从 0 开始生成一个 Flutter 应用,名字叫 LiTasker。

项目定位:
这是一个本地优先的任务管理 + 专注学习 App,不需要服务端,主要用于个人学习、任务规划和专注统计。

技术要求:

  1. 使用 Flutter + Dart。
  2. 本地存储使用 Hive 或 Isar,优先 Hive。
  3. 支持 Android 和 Windows,布局需要适配手机端和桌面端。
  4. 项目结构要清晰,不能把所有代码都堆在 main.dart。
  5. 需要可运行的完整代码,包括模型、页面、状态管理和基础测试。
  6. 不要使用复杂后端,不要接入登录系统。
  7. UI 文案以中文为主,但 MIN、日期、月份等单位可以保留英文/数字格式。

核心页面:

  1. Focus 首页

    • App 打开默认进入专注页。
    • 中间显示计时器。
    • 支持普通计时和番茄钟模式切换。
    • 有“开始”和“结束专注”按钮。
    • 可以输入当前专注科目,比如数学、英语、专业课。
    • 有今日进度条,显示今天已过时间或专注进度。
    • 有统计入口,可以查看学习时间。
  2. Tasks 任务页

    • 支持收件箱、今天、未来 7 天、已完成。
    • 支持自定义清单,比如工作、学习、生活。
    • 支持任务标题、备注、日期、优先级、完成状态。
    • 支持快速添加任务。
    • 支持搜索任务标题和备注。
    • 支持按日期、优先级、标题排序。
    • 快速添加里支持简单重复任务,比如每天生成 7 次、每周生成 4 次。
  3. Calendar 日历页

    • 支持月、周、日视图。
    • 可以按日期查看任务。
    • 点击某天能看到当天任务。
    • 手机端不能溢出,必须可滚动和自适应。
  4. Stats 统计页

    • 属于 Focus 页面的一部分,不放到底部导航。
    • 支持日、周、月切换。
    • 显示总专注时间、今日专注时间、平均每次专注、连续专注天数、今日目标完成度。
    • 支持按科目筛选统计。
    • 用圆环图或饼图显示各科目时间分布。
    • 不要排行榜。
  5. Settings 设置页

    • 不放到底部导航,可以从顶部齿轮进入。
    • 支持设置专注时长、短休息、长休息、今日目标。
    • 支持默认启动页、默认新任务日期。
    • 支持减少动效开关。
    • 支持导入/导出 JSON 备份。
    • 支持清空本地数据。

底部导航:
只保留 3 个入口:

  • 专注
  • 任务
  • 日历

UI 风格:

  1. 整体采用 neo-brutalism 风格。
  2. 主色以黑、白、亮黄为主,可以少量使用青色、粉色、绿色作为强调色。
  3. 使用粗边框、硬阴影、几何块面。
  4. 不要做成普通圆角卡片风格,不要像大众模板 App。
  5. 字体使用 Manrope,如果没有就提供 fallback。
  6. 界面要简洁、高级、有识别度。
  7. 动画要克制:页面切换淡入/轻微滑入,按钮点击有轻微压下反馈,进度条有平滑动画。
  8. 不要过度炫技,不要影响性能。

数据要求:

  1. 所有数据默认保存在本地。
  2. 任务、清单、设置、专注统计都要能持久化。
  3. 支持导入导出 JSON。
  4. 导入时需要做基础格式校验,不能格式错误就崩溃。

代码质量要求:

  1. 代码需要拆分文件:
    • models/
    • screens/
    • widgets/
    • services/
    • utils/
  2. 每个页面不要太臃肿。
  3. 要处理手机端小屏幕布局,不能出现 RenderFlex overflow。
  4. 列表和详情区域要使用 Expanded、Flexible 或滚动容器避免溢出。
  5. 给出运行命令:
    • flutter pub get
    • flutter run
    • flutter build apk --debug
    • flutter build windows
  6. 最后生成 README,说明功能、技术栈、运行方式、项目结构和截图位置。

请你直接生成完整项目代码,而不是只给示例片段。

这是我的第一块prompt 尽管已经很是完善了,但或多或少还是有点问题,我把它生成的代码带入我搭建好的flutter框架下,还是有些许问题但无伤大雅

LiTasker

LiTasker 是一个本地优先的 Flutter 任务与专注管理应用。它把任务清单、日历规划、番茄/计时专注、学习统计和 JSON 备份放在同一个轻量应用里,视觉上保留了偏 neo-brutalism 的硬朗风格。

截图




亮点

  • 本地优先:任务、清单、设置和专注统计保存在本机,不依赖服务端。
  • 专注首页:打开应用默认进入 Focus,可以在普通计时和番茄模式之间切换。
  • 学习统计:支持按日、周、月查看专注数据,并按科目筛选统计。
  • 任务管理:支持收件箱、今天、未来 7 天、已完成、自定义清单、优先级和备注。
  • 日历视图:支持月、周、日视图,方便按日期查看和安排任务。
  • 快速添加:支持优先级、日期、清单选择,并可批量生成每日/每周重复任务。
  • 搜索与排序:任务页支持搜索标题/备注,并按日期、优先级或标题排序。
  • 数据备份:支持 JSON 导入导出,并在导入时做基础格式校验。
  • 设置中心:可调整专注时长、休息时长、今日目标、默认首页、备份提醒和减少动效。

功能概览

模块 说明
Focus 计时、番茄、开始/结束专注、当前科目、今日进度条
Stats 总专注时长、今日目标、连续天数、平均时长、科目分布、趋势图
Tasks 智能视图、自定义清单、搜索、排序、快速添加、完成/删除/移动任务
Calendar 月/周/日视图,按日期查看任务
Settings 专注参数、任务默认行为、备份提醒、导入导出、清空本地数据

技术栈

  • Flutter / Dart
  • Hive / hive_flutter
  • file_picker
  • flutter_markdown
  • shared_preferences
  • flutter_launcher_icons

项目结构

lib/
  main.dart
  enums.dart
  models/
    task.dart
    task.g.dart
    task_list.dart
    task_list.g.dart
  screens/
    neo_home_page.dart
    neo_home_page_calendar.dart
    neo_home_page_detail.dart
    neo_home_page_misc.dart
    neo_home_page_widgets.dart
  utils/
    neo_brutalism.dart
    priority_color.dart

本地运行

安装依赖:

flutter pub get

运行应用:

flutter run

运行分析和测试:

flutter analyze
flutter test

生成 debug APK:

flutter build apk --debug

生成位置:

build/app/outputs/flutter-apk/app-debug.apk

数据说明

LiTasker 当前不需要后端服务,核心数据会保存在本机:

  • tasks:任务数据
  • taskLists:清单数据
  • settings:设置、专注统计、备份状态等

如果要迁移数据,可以在设置页导出 JSON 备份,再在另一台设备上导入。

开发说明

如果修改了 Hive model 字段,需要重新生成 adapter:

flutter pub run build_runner build --delete-conflicting-outputs

如果修改了应用图标配置,可以重新生成 launcher icons:

flutter pub run flutter_launcher_icons

已上传Github

各位大佬支持一下呗!:kissing_face_with_closed_eyes: aief1/LiTasker