即时通讯IM系统(H5+安卓+IOS)客户端,支持红包转账、朋友圈、群聊和群聊红包、收藏功能、语音相册、视频通话,附带视频教程。
该项目是开发一款社交APP,参考了QQ、微信的功能。与QQ、微信不同之处在于该项目有一个游戏专区列表,列出了各个热门游戏的简介和入口。用户可以通过这个入口进入游戏,该项目不仅可以用作生活或工作社交,还可以用作游戏内的社交关系。
项目背景:
前端:
该项目首先是一个APP,其次可以在其他平台上线。基于公司情况,决定使用H5开发Hybrid APP。这种开发模式的优点是跨平台,一套代码可以在多个平台上运行,可以有效节省开发周期,减少维护、升级和更新的工作量。而且Hybrid APP开发模式的技术已经趋于成熟,性能和原生接口都有不错的体验,很多主流APP如天猫、淘宝、京东等都采用了这种开发模式,基于H5的Hybrid APP已经成为行业趋势。
后端:
基于公司情况,大部分人擅长PHP,整个后端技术都采用PHP。考虑到社交类APP的用户在线率、高并发和数据量庞大的特点。
数据库方面:
需要使用多个数据库进行联合,使用MySQL作为写入数据库,使用MongoDB作为读取数据库,实现读写分离。数据库需要合理设计,并进行水平切分。
缓存、集群、分布式、CDN根据情况进行选择。
项目技术栈:
前端:
使用Dcloud的uni-app全系,基于Vue.js和微信小程序开发模式。
目前支持APP(Android、iOS)、H5、微信小程序、支付宝小程序共5个端。
在特定场景下可以使用weex进行原生渲染。
APP使用Dcloud公司的H5+进行原生接口调用。
后端:
PHP 7.2.x
使用ThinkPHP 5.1作为HTTP服务(Nginx)。
使用getWanWork作为Socket服务(Socket数据交互方式为二进制数据格式)。
使用Redis作为缓存,特定模块使用SQLite缓存模块数据。
使用MySQL和MongoDB作为数据库。
使用JWT进行用户验证。
使用HTTP进行文件传输。