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