# 社交App系统架构-星座空间
Android客户端[https://github.com/liushaoming/star-zone-android](https://github.com/liushaoming/star-zone-android)
目前社交类应用有App,小程序,网站,微信公众号等,其中最普遍有效的客户端还是App。
本人利用空余时间开发了一款Android版App--星座空间(英文名star-zone)
<br/>
<b>如果该项目对您有帮忙,您可以右上角'star'支持一下,谢谢!</b>
<br/>
源码在开源到了github上[https://github.com/liushaoming/star-zone](https://github.com/liushaoming/star-zone)
Android客户端[https://github.com/liushaoming/star-zone-android](https://github.com/liushaoming/star-zone-android)
<br/>
![星座空间图标](doc/image/ic_launcher.png)
[🚀点我--下载Android客户端](http://resources.appjishu.com/app/star-zone.apk)
<br/>
大家可以下载后用下用用看。
## 代码分析
* [star-zone-back Java后台](/star-zone-back)
* [star-zone-common 公共类库](/star-zone-common)
* [star-zone-manage 管理页面静态项目(做了前后端分离)](/star-zone-manage)
* [star-zone-android Android客户端](https://github.com/liushaoming/star-zone-android)
## 技术选型
下面列举技术栈,并说明选择的原因:
软件分为以下几块:(全部都是我一个人开发的,很辛苦的^_^,全栈工程师+架构师)
1.Android
采用原生Android开发
很多人以为用React Native开发App就不需要处理兼容性问题。其实使用React Native开发,也会遇到类似于原生开发里的gradle jar包依赖的冲突的问题。 而且,比如需要用到一些第三方厂商的硬件驱动程序jni等,或者原生android的库。 这种情况下React Native来调用这些库,就异常艰难。以国际大厂Airbnb为例,该公司曾是比较早采用React Native来在生产环境开发App的公司,极力推进React Native。结果后来还是放弃了。
Airbnb 在 Medium 上发博文宣布,“由于许多技术上和组织上的问题,我们决定放弃 React Native,将所有精力投入到原生应用上。”
另外一个原因:我是一个Java架构师,对Java语言比较熟悉,也会Android开发,于是就采用了原生开发
2.后台服务
基于Java,Spring Boot, Spring Cloud
数据库MySQL
缓存Redis
3.后台管理网站(纯静态网站)
做了前后端分离,动态和静态分离,静态网站放在nginx上,可以应对高并发访问
前端使用ES6语法,
框架采用vue.js,
插件使用babel,
样式使用element-ui
4.App的推广官网(纯静态网站)
做了前后端分离,动态和静态分离,静态网站放在nginx上,可以应对高并发访问
## 总体架构
1. 后台总体架构
Android通过网络,到达服务器后,经过nginx反向代理到后台服务。
调用后台接口的时候, 一部分接口是进行了权限验证的,权限验证使用userId+token
参考我的另外一个框架[fpassport](https://github.com/liushaoming/fpassport)
<br/> 点击后可以访问github <br/>
其中使用了Redis存放userId和token的对应关系。提高了系统的响应速度。
由于app里后面会加上电商功能,对于下单功能。订单数量是商品数量的很多倍。
采用了分表的架构。分表原理采用一致性Hash。
2. 微服务采用了Spring Cloud
Spring Cloud是采用HTTP协议, Dubbo采用RPC方案,采用TCP协议通信。
性能方面Spring Cloud略差一点。 但是影响不大。两种框架各有利弊。我采用了自己熟悉的Spring Cloud
3. 数据库分表操作
基于一致性hash,见github源码
4. 前后端分离,动静分离
Java动态网站比较吃内存,操作系统允许的线程数也是一定的。 最多几千个线程。
而且一个线程一般就要占用512KB的内存。 光这些HTTP连接就至少占用1G内存。
还有其他的CPU计算,也要占用1G以上的内存。
动静分离后。 页面的每次请求不需要经过后端渲染,减少了Java Http连接数,减小了内存开销。
nginx部署静态网站后。不做优化,nginx本身就能承受上万个并发连接,很适合做静态资源的服务。
5. 推送服务,即时通讯
使用了小米的推送服务,我自己也自主研发了一个推送服务基于netty,项目地址
[ttps://github.com/liushaoming/fpush](https://github.com/liushaoming/fpush)
5.前端方案
vue,双向数据绑定,提高编程效率。
element-ui界面简洁,使用简单,适合后台管理系统开发,跟vue结合有天然的便利。
有饿了么公司强大后盾。
使用es6或者js都行。
上班比较忙。暂时写这么多。
本文后面还会继续编辑更新。把更多内容分享给大家。
项目地址是[星座空间App](http://resources.appjishu.com/app/star-zone.apk)
源码在开源到了github上[https://github.com/liushaoming/star-zone](https://github.com/liushaoming/star-zone)
Android客户端[https://github.com/liushaoming/star-zone-android](https://github.com/liushaoming/star-zone-android)
<br/>
<b>如果该项目对您有帮忙,您可以右上角'star'支持一下,谢谢!</b>
<br/>
## 小米推送的jar包 为什么maven编译的时候会找不到?
比如下面两个jar MiPush-Server.jar, MiPush-json-simple.jar依赖会找不到
```xml
<dependency>
<groupId>com.xiaomi</groupId>
<artifactId>MiPush-Server</artifactId>
<version>2.2.19</version>
</dependency>
<dependency>
<groupId>com.xiaomi</groupId>
<artifactId>MiPush-json-simple</artifactId>
<version>1.1.1</version>
</dependency>
```
解决办法:
这个是需要本地jar instal到本地maven仓库的。具体操作如下
```text
添加本地jar到maven springboot项目中
maven项目中,如果想引用第三方提供的,或者自己的本地jar包。 是非常困难的事情。
因为这些jar没有groupId, artifactId, maven命令打包无法引用。
解决思路:
用mvn install:install-file命令把本地的jar安装到local maven repository。 然后就可以在pom里像普通的maven引用来引用这个jar了
实例如下:
step1 首先把本地的jar都放到项目根路径下新建的lib中去
step2,命令行进入lib路径
mvn install:install-file -DgroupId=com.xiaomi -DartifactId=MiPush-Server -Dversion=2.2.19 -Dpackaging=jar -Dfile=MiPush-Server-2.2.19.jar
mvn install:install-file -DgroupId=com.xiaomi -DartifactId=MiPush-json-simple -Dversion=1.1.1 -Dpackaging=jar -Dfile=MiPush-json-simple-1.1.1.jar
这这两个jar包都install到local repository了。
然后,在自己的springboot项目里。 就可以直接添加dependency就可以了
<dependency>
<groupId>com.xiaomi</groupId>
<artifactId>MiPush-Server</artifactId>
<version>2.2.19</version>
</dependency>
<dependency>
<groupId>com.xiaomi</groupId>
<artifactId>MiPush-json-simple</artifactId>
<version>1.1.1</version>
</dependency>
groupId 和artifactId和version都是我自己创建制定的。 并非官方给的
```
注意这里MiPush的jar包官方在不断升级。version自己可以改成最新的,比如2.2.21
在本项目里的MiPush_SDK_Server.jar路径为
[MiPush_SDK_Server_2_2_21.jar](/sdk/MiPush_Server_Java_20190420/java/sdk/MiPush_SDK_Server_2_2_21.jar)
[json-simple-1.1.1.jar](/sdk/MiPush_Server_Java_20190420/java/sdk/json-simple-1.1.1.jar)
百度云短信
[qcloudsms_java](https://github.com/qcloudsms/qcloudsms_java)
没有合适的资源?快使用搜索试试~ 我知道了~
星座空间App(社交类App)项目源码,包括Java后台、Android、管理后台的代码
共521个文件
java:183个
png:88个
js:87个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 123 浏览量
2023-10-23
10:37:25
上传
评论
收藏 3.93MB ZIP 举报
温馨提示
matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行!
资源推荐
资源详情
资源评论
收起资源包目录
星座空间App(社交类App)项目源码,包括Java后台、Android、管理后台的代码 (521个子文件)
ueditor.css 43KB
ueditor.min.css 34KB
video-js.css 21KB
image.css 18KB
video.css 15KB
attachment.css 14KB
video-js.min.css 11KB
shCoreDefault.css 7KB
demo.css 6KB
scrawl.css 4KB
iconfont.css 3KB
codemirror.css 3KB
charts.css 3KB
background.css 2KB
emotion.css 2KB
dialogbase.css 2KB
music.css 2KB
edittable.css 1KB
template.css 1KB
webuploader.css 515B
help.css 389B
common.css 83B
iframe.css 41B
vjs.eot 3KB
iconfont.eot 3KB
menu-manage.es6 9KB
topicList.es6 4KB
index.es6 1001B
goodsList.es6 0B
UEditorSnapscreen.exe 508KB
wface.gif 49KB
jxface2.gif 40KB
yface.gif 28KB
bface.gif 27KB
icons.gif 20KB
file-icons.gif 20KB
file-icons.gif 20KB
tface.gif 19KB
fface.gif 18KB
cface.gif 8KB
icons-all.gif 4KB
videologo.gif 2KB
cancelbutton.gif 1KB
button-bg.gif 1KB
lock.gif 1KB
alignicon.gif 1KB
word.gif 1019B
icon_doc.gif 1012B
icon_psd.gif 1009B
icon_rar.gif 1007B
icon_xls.gif 1005B
icon_ppt.gif 1001B
icon_mv.gif 1001B
icon_pdf.gif 996B
icon_mp3.gif 986B
icon_txt.gif 970B
icon_jpg.gif 950B
icon_exe.gif 949B
icon_chm.gif 923B
loading.gif 734B
icons.gif 453B
icons.gif 453B
icons.gif 453B
success.gif 445B
success.gif 445B
success.gif 445B
cursor_v.gif 370B
cursor_h.gif 253B
anchor.gif 184B
highlighted.gif 111B
unhighlighted.gif 111B
bg.gif 84B
pagebreak.gif 54B
spacer.gif 43B
0.gif 43B
.gitattributes 87B
.gitignore 235B
.gitignore 235B
.gitignore 235B
.gitignore 103B
.gitignore 56B
goodsList.html 12KB
topicList.html 11KB
wordimage.html 6KB
map.html 6KB
emotion.html 6KB
image.html 5KB
show.html 5KB
demo_symbol.html 5KB
demo_unicode.html 5KB
charts.html 5KB
link.html 4KB
index.html 4KB
insertframe.html 4KB
video.html 4KB
searchreplace.html 4KB
gmap.html 4KB
scrawl.html 4KB
demo_fontclass.html 3KB
background.html 3KB
共 521 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
天天501
- 粉丝: 591
- 资源: 4666
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功