前段时间,21岁的我第一次开启了名为『恋爱』的副本,开始打名叫『女朋友』的BOSS,深感过程艰难,整个过程仿佛0级的菜鸡进入了布满世界迷雾的地图,只能小心翼翼才能平安通过。然而在打怪升级的过程中,偶然看见有人感叹:要是谈恋爱有进度条该多好!于是基于这个idea,身为iOS开发者的我决定开发一款能够像技术手册一般的app,帮助程序员以及其他恋爱初学者入门,并且更健康的恋爱。当然,女朋友也作为顾问参与了app内容的准备,对此我是感激涕零的。
APP的思路是通过任务系统,让用户明白恋爱每个阶段要做的最基本的事情,并且通过做任务的过程来联动其他功能,最终达到能够推送关系深入的效果。
APP信息
- 名称:恋爱进度条
- iOS版下载地址:
- 扫码下载:
- 截图:
技术背景
首先介绍一下技术背景:
- 某渣一本大四计算机专业
- 还算OK的iOS开发技术,做过几个商业项目,带过技术团队
- 职业方向转型为产品,拿了某大厂产品OFFER,有能力搞定原型&UI
工具选择
- 前期准备:、
- 开发:、Xcode
主要功能模块
- 任务系统:主要包含关系阶段(等级)、任务清单、已完成任务记录、单个任务完成度(即用户向功能表添加的条目)
- 纪念:实现了计算纪念日已过天数与对应的下一个周年日的倒数天数
- 行动:实现了记录计划的日期和行动详情
- 记录:实现了精简版的朋友圈,包括内容、时间、tag、六宫格图片顺序存储
- 喜好:实现了根据是否喜欢和根据场景记录对方喜好,并且可以分类显示的功能
开发相关
后端选择
虽然Python水平还可以,可以使用Django开发后端,但是为了上线速度,最后还是决定用BAAS服务做后端。之前一直使用Bmob,这回试了一下Leancloud,文档清晰,社区活跃,开发体验非常不错,就是免费额度比较低,商业版收费比较贵。
数据库设计
开发中唯一的难点是任务不分的设计,由此我的数据库的设计如下
开发
开发本身比较简单,只说一下使用的第三方库
- :存储
- MJRefresh:下拉刷新
- WSDaePickerView:日期选择
- MBProgressHUD:小菊花
- SDWebImage:异步图片加载
- ZLPhotoBrowser:图片选择器
源码
PS.我不知道为什么有很多人不会就事论事,本意是分享出自己的代码和大家交流,也希望得到关于技术本身的批评、指正。
有很多人在下面质疑所谓的『大厂OFFER』,不好意思,我拿的是产品OFFER,技术上面确实比不过评论区大佬。不过我也希望在下面喷的键盘侠们贴出自己的GitHub地址、工作公司、工作年限以及职级,让所有人看看你们的水平是否配得上现在的薪水。