乐于分享
好东西不私藏

iOS APP:循律而行-记课时与按规则自动扣课

iOS APP:循律而行-记课时与按规则自动扣课
背景
我办了健身卡,买了一些私教课,每周二、周四、周六上私教课,偶尔请假不上课,这就导致我不能快速准确的了解我上了多少课,还有多少课。
搜索了相关的APP,几乎没有符合我需求的APP,作为一个IT从业者,既然没有,那就自己写,自己动手丰衣足食。
支持平台
iPhone、iPad(iPad是iPhone的放大版本)。
软件的功能设计
我梳理了自己的需求,调研了身边的亲戚、朋友、同事对于私教课、辅导课、兴趣课的需求,列了一个清单,主要是:
提示:以下列出的功能都已经在APP内实现
1.记录买了多少课,已经上了多少课。
2.记录上过的课已花费多少钱,买课的总费用。
3.记录任何状态的课程,不管是新买的课程,还是已经上过的课程。
4.要有一个课程表看到课程安排。
5.取消打卡,取消后还能再次打卡。
6.临时加课。
7.导出PDF、CSV(表格)。
8.在上课前x分钟发送通知提醒。
9.在课程安排冲突时提醒,支持编辑冲突的单个课程(课程表页面操作)。
10.支持教课模式(适合老师、教练)和上课模式(适合个人)。
11.管理多个人的课程(自己、老婆、老公、孩子…)。
12.年卡、季卡等限时但不限次的课程。
13.支持多个课时规则,周一三五是晚上7点,周末是下午3点。
15.支持暂停时间段,例如国庆(10.1-10.7)不排课。
16.支持上x节课赠y节课,赠送的课程自动添加到总课时中。
17.支持灵活的重复规则:每天、周、月;每隔x天、周、月;每月的1、13、15、28、30(没有30就跳过,或者向前推)等复杂规则。
18.最关键的需求支持按照规则自动扣课时!
19.自动扣课的时候,取消的时候要支持把课程顺延到以后(不扣课),或者是扣除(适合请假也要扣课,但是要留个请假没去上课的记录)。
20.小组件,小组件要支持显示某个人的课,支持小组件打卡,要支持今日视图,周视图。
21.支持续订课程(按照之前的重复规则续订课程)。
22.删除课程后放到回收站。
23.支持把课程同步到系统日历,也要支持从系统日历中删除。
24.不同的课时规则设置不同的老师、上课地点(可不设置)。
25.设置自定义课程时长,想设置一节课多少分钟就设置多少分钟,完全自定义。
26.给课程设置定义颜色,支持自定义喜欢的颜色。
27.支持设置课程的货币单位。
28.支持灵活设置打卡卡片和课程卡片的显示项。
29.支持iCloud同步。
30.导出数据,用于备份数据。
31.暂停课程。
32.把今天的课程移动到最后,多课时规则时允许选择移动到哪个课时规则后面。
33.支持删除课程(退订课程),且支持完全删除,或保留为退订状态(显示退订,但可以查询已经上过的课程记录)。
34.支持填写多个老师,临时给课程切换老师。
35.支持浅色模式、深色模式、跟随系统自动切换主题。
36.支持中文和英文。
……
密密麻麻记录了30多条,此时我才意识到好像超出了我原来的规划,不过既然要做当然要把功能做好,做全,开干!
设计APP首页
左上角是人员管理,可以通过左上角切换成员,筛选对应成员的课程。
右上角是视图管理,可以设置周视图(推荐),可以设置月视图。
打卡卡片,要包含用户想看的所有元素:
谁的课程、一共多少课、上了多少课、几点上课、已花费多少、总费用多少、赠课进度、老师/学生、上课地点、下一节课的时间、备注、再加一节课。(信息量太大,设计打卡卡片的时候,头都要秃了~)
设计课程页面
左上角是人员管理,可以通过左上角切换成员,筛选对应成员的课程。
右上角是增加课程,还要支持搜索、筛选。
课程卡片,也要包含用户想看的所有元素:
谁的课程、一共多少课、上了多少课、几点上课、已花费多少、总费用多少、赠课进度、老师/学生、上课地点,预计完成日期、到期日期、课程状态。
课程表页面(日历视图)
左上角是人员管理,可以通过左上角切换成员,筛选对应成员的课程。
右上角支持切换多种样式,以及支持冲突课程检测。
列表或者日历中支持长按课程修改课程时间,或点击“编辑”按钮修改课程时间。
统计页面
统计上课、取消、顺延记录。
统计课程进度
统计最近的打卡、取消打卡记录。
导出PDF、CSV。
点击左下角阅读原文,跳转App Store下载。