zoukankan      html  css  js  c++  java
  • [已开源/文章教程]独立开发 一个社交 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源码的开源项目,并且还有系列文章介绍的项目,不多吧。以学习促进为目的,大家一起去开源吧:)

  • 相关阅读:
    [Automation] 自动化测试工具和测试框架大集合
    C#借助API实现黑盒自动化测试工具的编写
    C#实现RSA加密解密
    Uipath开发过程中最常见的5类错误
    tqdm介绍及常用方法
    Top-1准确率和Top-5准确率
    focal loss焦点损失
    【深度学习】卷积神经网络中Dropout、BatchNorm的位置选择
    数据增强——mixup
    数据增强之mixup算法详解
  • 原文地址:https://www.cnblogs.com/matoo/p/5690535.html
Copyright © 2011-2022 走看看