[已開源/文章教程]獨立開發 一個社交 APP 的源碼/架構分享 (已上架)


0x00 背景

真不是和被推薦了2天的博客園一位大神較真,從他那篇文章的索引式文章內容也學習到了很多東西,看評論區那么多對社交APP源碼有興趣的,正巧我上周把我的一個社交APP開源了,包括android源碼和基於Laravel服務器的源碼,並且之前有文章完整的介紹了Android端遷移到MVP架構的實戰內容,和如何從linux小白到部署代碼的內容,基本上從如何開發一款社交app到如何重構優化的思想都能體會到。今天就組織一篇文章介紹一下,歡迎有興趣朋友star,pull。一起為開源社區貢獻點力量。

 

android端代碼:https://github.com/huijimuhe/monolog-android

web端代碼:https://github.com/huijimuhe/monolog-web

應用商店apk-demo:http://shouji.baidu.com/software/9276490.html

 

我一直覺得代碼最能解釋問題,在代碼中已經給出了豐富的注釋,並且以前寫過文章討論。

有哪些增刪改查這樣的功能模塊介紹我就不寫了,直接給文章鏈。

你想知道我圖片用的glide還是fresco,請查看代碼,這種文字我就不碼了,見諒。

0X01知識點/技能樹

你可以通過這個項目了解到的Android方面知識點包括:

1.如何集成環信IM功能(聊天、新消息提示badage、聯系人列表)

2.如何獲取地理位置

3.RecyclerView自定義,包括如何添加頭和如何根據itemtype顯示不同的列表內容

4.如何像微博朋友圈一樣選擇圖片、壓縮、上傳七牛雲服務器

5.如何讓自己的android代碼遷移到MVP架構

6.如何集成廣點通

7.如何集成微信登錄

8.Fragment的動畫效果

9.如何集成Gson

...

 

你可以通過這個項目了解到的Web方面知識點包括:

1.如何愛上Laravel

2.如何從linux小白到部署

3.如何操作mongodb

4.如何做lbs查詢

5.各種基礎增刪改查

6.如何只用>3天時間基於adminLTE優雅的寫一套后台管理庫

7.如何集成微信賬號綁定

8.如何集成環信IM

9.不用session和cookie,如何自定義一套基於salt的token驗證模塊

...

0X02 Android端

1.功能包括但不限(省事就直接復制應用商店介紹了):

無論何時,你都有一個故事,想找一人訴說。發一張照片,寫一段文字。獨白故事會隨機推送三個用戶,猜出獨白的發表人,開啟一段邂逅。
在這里,從一段獨白開始了解對方。冥冥中定是天意,讓TA知道你的獨白。
【操作簡單】下拉刷新獨白,點擊頭像猜誰是作者。
【來自附近】定位功能只用於搜索你附近的獨白或發布獨白時使用。
【天意玲瓏】能猜中對方身份,那是獨白只為你說的驚喜。
【極簡設計】黑白兩色的干凈色調,只有獨白的文字和圖片會打動你。
【私信聊天】只有猜對作者后才可開始私信聊天。
【保證隱私】微信綁定登錄,只為節約你上傳頭像和用戶名的時間。不翻你的通信錄也不會讀取任何你的手機信息。

 

2.從基本架構遷移到MVP架構的思路及代碼指南:

APP架子遷移指南(一)

APP架子遷移指南(二)

APP架子遷移指南(三)

網上很多相關文章給的都是toy code,看得雲里霧里的,我希望我這套文章你看完理解能更深入點。

 

3.應用商店截圖的PSD文件我也發出來了

做個好看點,至少不是屏幕截圖的商店應用截圖,用戶看起來親和一點。

我的psd文件已經同時發布到github中了,你只要把自己的截圖添加到psd里面改改就能用。希望對ps操作比較小白的朋友有用。

 

0X02 Web端

功能如上章節介紹,文章列表如下:

WDCP安裝並配置php5.4和mongodb

用一個下午從零開始搭建一個基礎lbs查詢服務

 

因為是去年的項目,基於Laravel4.2開發,代碼也做了重構,數據處理業務被剝離到Repository層中。

Laravel4.2的Auth模塊沒有自帶salt,我已修改,請搜索TODO查看。

 

0X03另外一個關注UI學習的開源項目

UI很大程度借鑒了一款出色的app:留白。走極簡風格,我的margin、灰色的運用肯定不如專業美工來的講究,但從代碼到應用商店截圖全部我一個人做的,自豪感爆棚啊:)

最近在持續pull一個精仿鮮城app的android項目,或許可以讓你知道下表的知識點:

1.RecyclerView怎么嵌套RecyclerView;

2.如何用RecyclerView實現不同type的文章正文列表;

3.如何用Gson自定義JsonApdater實現動態數據解析(根據不同的type解析不同的數據)

4.如何自定義drawable

5.如何實現9宮格的圖片列表

6.如何實現像鮮城一樣漂亮的RecyclerView header

地址在這里:https://github.com/huijimuhe/common-layout-android

 

0X04歡迎Pull和提issue

我不是大神,輪子都是造好的直接拿來用,開源純粹就是為了相互提高和學習,歡迎pull和提issue。請不要因為splash有廣點通就覺得我在寫軟文(這讓我最受不了了..),要說完整包含app和web源碼的開源項目,並且還有系列文章介紹的項目,不多吧。以學習促進為目的,大家一起去開源吧:)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM