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

0x00 背景

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

 

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

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

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

 

我一直以爲代碼最能解釋問題,在代碼中已經給出了豐富的註釋,而且之前寫過文章討論。git

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

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

0X01知識點/技能樹

你能夠經過這個項目瞭解到的Android方面知識點包括:mongodb

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源碼的開源項目,而且還有系列文章介紹的項目,很少吧。以學習促進爲目的,你們一塊兒去開源吧:)

相關文章
相關標籤/搜索