從互聯(lián)網(wǎng)誕生之日起,社交需求就一直作為一種剛需存在,在人際過載與信息過載時代,微信已經(jīng)不再能承載我們最簡單、純粹、美好的社交需求,在社交疲態(tài)和用戶遷移的產(chǎn)品契機(jī)下,陌生人社交領(lǐng)域逐漸孕育出諸如“陌陌、探探、SOUL”等社交APP新貴,隨著5G時代的到來,一波音視頻社交領(lǐng)域的創(chuàng)業(yè)窗口期又重新打開。好看的皮囊千篇一律,有趣的靈魂二百多斤,環(huán)信25萬移動開發(fā)者之一的“穿褲衩闖天下”今天給我們帶來了一款基于環(huán)信即時通訊云(環(huán)信音視頻云)開發(fā)的免費(fèi)開源靈魂社交APP(類SOUL),國內(nèi)首個程序猿非嚴(yán)肅婚戀交友應(yīng)用——猿匹配。
目前“猿匹配”已經(jīng)上架google play 商店,包括客戶端和服務(wù)端的代碼已經(jīng)全部開源,有興趣的開發(fā)者們依照此文檔幾乎能夠一天時間開發(fā)出一款靈魂社交APP。(友情提示:請嚴(yán)格遵守國家相關(guān)法律,避免下架風(fēng)險,關(guān)于“猿匹配”的所有代碼及相關(guān)知識產(chǎn)權(quán)完全屬于個人開發(fā)者“穿褲衩闖天下”。)
#VMMatch
猿匹配 —— 國內(nèi)首個程序猿非嚴(yán)肅婚戀交友應(yīng)用,讓我們一言不合就來場匹配吧。
#介紹
首先說下中文名:為什么叫這個名字呢,因為這是一個程序猿(媛)之間匹配交流的應(yīng)用啊
其實(shí)這是一個使用環(huán)信 IM 開發(fā)的一款開源聊天項目,涵蓋了時下流行的一些聊天元素,同時已將 IM 功能封裝為單獨(dú)庫,可以直接引用,方便使用
項目還處在初期階段,還有許多功能需要實(shí)現(xiàn),有興趣的可以一起來
項目資源均來自于互聯(lián)網(wǎng),如果有侵權(quán)請聯(lián)系我
上代碼(友情提示,超鏈如果無法跳轉(zhuǎn)請訪問環(huán)信官網(wǎng)開源項目有Github下載入口)
服務(wù)器:VMServer
客戶端:VMMatch
#下載體驗
猿匹配 小米商店 審核中
猿匹配 Google Play
#項目截圖
#開發(fā)環(huán)境
項目基本屬于在最新的Android開發(fā)環(huán)境下開發(fā),使用Java8的一些新特性,比如Lambda表達(dá)式,
然后項目已經(jīng)適配Android6.x以上的動態(tài)權(quán)限適配,以及7.x的文件選擇,和8.x的通知提醒等;
· Mac OS 10.14.4
· Android Studio 3.3.2
#項目模塊兒
本項目包含兩部分:
一部分是項目主模塊app,這部分主要包含了項目的業(yè)務(wù)邏輯,比如匹配、信息修改、設(shè)置等
另一部分是封裝成library的vmim,這是為了方便大家引用到自己的項目中做的一步封裝,不用再去復(fù)雜的復(fù)制代碼和資源等,
只需要將vmim以module導(dǎo)入到自己的項目中就行了,具體使用方式參見項目app模塊兒;
#功能與 TODO
IM部分功能
· [x] 鏈接監(jiān)聽
· [x] 登錄注冊
· [x] 會話功能
。[x] 置頂
。[x] 標(biāo)為未讀
。[x] 刪除與清空
。[x] 草稿功能
· [x] 消息功能
。[x] 下拉加載更多
。[x] 消息復(fù)制(僅文字類消息)
。[x] 消息刪除
。[x] 文本+Emoji消息收發(fā)
。[x] 大表情消息收發(fā)
。[x] 圖片消息
~[x] 查看大圖
~[ ] 保存圖片
。[x] 語音消息
~[x] 語音錄制
~[x] 語音播放(可暫停,波形待優(yōu)化)
~[x] 聽筒和揚(yáng)聲器播放切換
。[x] 語音實(shí)時通話功能
。[x] 視頻實(shí)時通話功能
。[x] 通話過程中的娛樂消息收發(fā)
~[x] 骰子
~[x] 石頭剪刀布
~[x] 大表情
。[x] 昵稱頭像處理(通過回調(diào)實(shí)現(xiàn))
App部分功能
· [x] 登錄注冊(包括業(yè)務(wù)邏輯和 IM 邏輯)
· [x] 匹配
。[x] 提交匹配信息
。[x] 拉取匹配信息
· [x] 聊天(這里直接加載 IM 模塊兒)
· [x] 我的
。[x] 個人信息展示
。[x] 上傳頭像
。[x] 設(shè)置昵稱
。[x] 設(shè)置簽名
· [x] 設(shè)置
。[x] 個人信息設(shè)置
。[x] 通知提醒
。[x] 聊天
。[ ] 隱私(隨業(yè)務(wù)部分一起完善)
。[ ] 通用(隨業(yè)務(wù)部分一起完善)
。[ ] 幫助反饋(隨業(yè)務(wù)部分一起完善)
。[x] 關(guān)于
。[x] 退出
· [ ] 社區(qū)
。[ ] 發(fā)布
。[ ] 評論
。[ ] 收藏
。[ ] 關(guān)注
發(fā)布功能
· [x] 多渠道打包
· [x] 簽名配置
· [x] 開發(fā)與線上環(huán)境配置
· [x] 敏感信息保護(hù)
#配置運(yùn)行
1.首先復(fù)制config.default.gradle到config.gradle
2.配置下config.gradle環(huán)信appkey以及bugly統(tǒng)計Id
3.正式打包需要配置下簽名信息,同時將簽名文件放置在項目根目錄
#參與貢獻(xiàn)
如果你有什么好的想法,或者好的實(shí)現(xiàn),可以通過下邊的步驟參與進(jìn)來,讓我們一起把這個項目做得更好,歡迎參與
1.Fork本倉庫
2.新建feature_xxx分支 (單獨(dú)創(chuàng)建一個實(shí)現(xiàn)你自己想法的分支)
3.提交代碼
4.新建Pull Request
5.等待我們的Review & Merge
#關(guān)聯(lián)項目
服務(wù)器端由nodejs實(shí)現(xiàn),地址見這里 VMServer
#VMServer
是為Android開源項目VMMatch項目(中文名猿匹配)實(shí)現(xiàn)的服務(wù)端
#簡介
這個項目包含兩部分
· 根目錄:服務(wù)邏輯及API接口實(shí)現(xiàn)
· client目錄:前端界面,和服務(wù)器端代碼端放置在同一倉庫下(暫未實(shí)現(xiàn))
#使用
簡單介紹下運(yùn)行環(huán)境及部署方法
1.安裝nodejs開發(fā)時使用的是v10.16.0版本
2.需要安裝mongodb并啟動,開發(fā)使用版本4.0.10
3.下載項目到服務(wù)器,可以下載壓縮包,或者用git clone命令
4.復(fù)制config_default.js到config.js,可根據(jù)自己需要修改配置文件
5.安裝依賴
npm install
6.全局安裝pm2
npm install pm2 -g
7.運(yùn)行 vmshell.sh
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!