【附源码】为了帮助程序员谈恋爱,我做了这个APP
前段時(shí)間,21歲的我第一次開(kāi)啟了名為『戀愛(ài)』的副本,開(kāi)始打名叫『女朋友』的BOSS,深感過(guò)程艱難,整個(gè)過(guò)程仿佛0級(jí)的菜雞進(jìn)入了布滿(mǎn)世界迷霧的地圖,只能小心翼翼才能平安通過(guò)。然而在打怪升級(jí)的過(guò)程中,偶然看見(jiàn)有人感嘆:要是談戀愛(ài)有進(jìn)度條該多好!于是基于這個(gè)idea,身為iOS開(kāi)發(fā)者的我決定開(kāi)發(fā)一款能夠像技術(shù)手冊(cè)一般的app,幫助程序員以及其他戀愛(ài)初學(xué)者入門(mén),并且更健康的戀愛(ài)。當(dāng)然,女朋友也作為顧問(wèn)參與了app內(nèi)容的準(zhǔn)備,對(duì)此我是感激涕零的。
APP的思路是通過(guò)任務(wù)系統(tǒng),讓用戶(hù)明白戀愛(ài)每個(gè)階段要做的最基本的事情,并且通過(guò)做任務(wù)的過(guò)程來(lái)聯(lián)動(dòng)其他功能,最終達(dá)到能夠推送關(guān)系深入的效果。
APP信息
- 名稱(chēng):戀愛(ài)進(jìn)度條
- iOS版下載地址:戀愛(ài)進(jìn)度條
- 掃碼下載:
- 截圖:
技術(shù)背景
首先介紹一下技術(shù)背景:
工具選擇
- 前期準(zhǔn)備:金數(shù)據(jù)、墨刀
- 開(kāi)發(fā):Leancloud、Xcode
主要功能模塊
- 任務(wù)系統(tǒng):主要包含關(guān)系階段(等級(jí))、任務(wù)清單、已完成任務(wù)記錄、單個(gè)任務(wù)完成度(即用戶(hù)向功能表添加的條目)
- 紀(jì)念:實(shí)現(xiàn)了計(jì)算紀(jì)念日已過(guò)天數(shù)與對(duì)應(yīng)的下一個(gè)周年日的倒數(shù)天數(shù)
- 行動(dòng):實(shí)現(xiàn)了記錄計(jì)劃的日期和行動(dòng)詳情
- 記錄:實(shí)現(xiàn)了精簡(jiǎn)版的朋友圈,包括內(nèi)容、時(shí)間、tag、六宮格圖片順序存儲(chǔ)
- 喜好:實(shí)現(xiàn)了根據(jù)是否喜歡和根據(jù)場(chǎng)景記錄對(duì)方喜好,并且可以分類(lèi)顯示的功能
開(kāi)發(fā)相關(guān)
后端選擇
雖然Python水平還可以,可以使用Django開(kāi)發(fā)后端,但是為了上線(xiàn)速度,最后還是決定用BAAS服務(wù)做后端。之前一直使用Bmob,這回試了一下Leancloud,文檔清晰,社區(qū)活躍,開(kāi)發(fā)體驗(yàn)非常不錯(cuò),就是免費(fèi)額度比較低,商業(yè)版收費(fèi)比較貴。
數(shù)據(jù)庫(kù)設(shè)計(jì)
開(kāi)發(fā)中唯一的難點(diǎn)是任務(wù)不分的設(shè)計(jì),由此我的數(shù)據(jù)庫(kù)的設(shè)計(jì)如下
開(kāi)發(fā)
開(kāi)發(fā)本身比較簡(jiǎn)單,只說(shuō)一下使用的第三方庫(kù)
- Leancloud:存儲(chǔ)
- MJRefresh:下拉刷新
- WSDaePickerView:日期選擇
- MBProgressHUD:小菊花
- SDWebImage:異步圖片加載
- ZLPhotoBrowser:圖片選擇器
源碼
github(順便點(diǎn)個(gè)贊吧)
PS.我不知道為什么有很多人不會(huì)就事論事,本意是分享出自己的代碼和大家交流,也希望得到關(guān)于技術(shù)本身的批評(píng)、指正。
有很多人在下面質(zhì)疑所謂的『大廠(chǎng)OFFER』,不好意思,我拿的是產(chǎn)品OFFER,技術(shù)上面確實(shí)比不過(guò)評(píng)論區(qū)大佬。不過(guò)我也希望在下面噴的鍵盤(pán)俠們貼出自己的GitHub地址、工作公司、工作年限以及職級(jí),讓所有人看看你們的水平是否配得上現(xiàn)在的薪水。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的【附源码】为了帮助程序员谈恋爱,我做了这个APP的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java变量名转字符串_JS中将变量转为
- 下一篇: java中如何判断aabb_java判断