半熟类社交平台:
创建初衷是提供一个平台,为用户维护个人的半熟社交人际关系,辅助用户整合非日常交流好友资源,以此为用户提供可能需要的人际关系价值。项目的主要通过iOS和Android两个主流平台APP提供服务,后端通过ECS中PHP提供平台服务,并通过Python提供一定的数据分析服务。
项目实现
项目涉及技术:
- iOS / Android
- HTML + CSS + JavaScript
- PHP / MySQL
- Python
- Docker
- Apache / Nginx
- HTTP/2
项目整体架构:
由于项目整体预算有限,无法支撑全量设备的原生应用开发,因此前端我采用了 WebView(iOS 为 WKWebView)全屏嵌套方案,加载一套统一的 HTML 前端界面,实现类原生 H5 应用设计。同时,利用原生与 JavaScript 的互通信机制,实现对设备硬件(如相机、相册、通讯录等)的调用。在原生层,我们将 HTML 界面打包至应用本地资源中,以最大化界面加载与渲染效率,并严格遵循 iOS 平台的版本更新审核规则中针对需要有效的更新内容的要求,确保产品后续迭代能够持续满足平台要求。考虑到产品对前端代码的源码安全需求,所有 JavaScript 均采用纯 ES4+ 原生语法编写,未引用任何开源第三方库。
服务端涵盖服务器操作系统、运行环境及 PHP 业务系统的开发。开发阶段,我使用 Docker 搭建了准生产、开发、数据、认证、监控五个独立的 Linux 容器,分别部署 Apache、PHP、MySQL 等组件,为服务端提供运行环境。这种设计便于产品上线时将各功能模块从 Docker 子系统直接迁移至实际生产操作系统。服务端采用 PHP 开发,通过 Apache 的 Rewrite 规则配合 PHP 路径解析,将实际接口文件进行重写隐藏,并利用多级路径将请求拆分为独立模块,系统自动解析路径并导向对应模块,实现模块间的功能隔离,便于开发、扩展与维护。MySQL 数据库运行在独立的 Docker 容器中,可根据需要快速扩展为主备架构,搭建灾备方案,同时也便于交付时平滑迁移至实际生产数据环境。
此外,我在系统中部署了 Python,针对人际关系资源匹配的需求,使用 jieba 对中文的支持与 BM25 匹配算法实现基础资源数据分析,并通过 Flask 框架提供独立于 PHP 服务的 API 接口(由 Nginx 反向代理将 Flask 服务路由至外部访问)。
另外,在监控系统中还实现了一套简易的数据统计埋点监控模块,用于统计前后端访问日志,辅助日常运维与问题排查。
某公考教育平台小程序开发:
业务和功能介绍
某公考教育平台需要开发小程序版,并通过小程序实现新的营销和获客渠道。由于小程序用户客群非常大,所以开发小程序版的主要目的就是拓展小程序渠道,使用户可以通过小程序直接访问平台,并直接购课,同时通过基于小程序的营销手段,激活用户,引导用户最终使用平台产品。
项目实现
项目涉及技术:
- weixin JSSDK
- PHP
- MySQL/Redis
- Swagger
项目整体方案及架构:
本项目的目标是基于小程序前端开发规范,设计一套独立的前端界面,在原教育平台课程商品销售体系的基础上,扩展了营销与获客功能。用户可在小程序中直接购买课程,并最终引导至原平台完成上课学习;同时新增了“每日打卡考试”竞赛系统,用户以较低报名费参与连续多日的模拟公考答题活动,根据完成度和成绩综合排名,最终瓜分总奖池奖金。此外,小程序中还增设了咨询板块,以拓宽获客渠道。
在此项目中,我负责整体解决方案的协同设计,以及服务端程序与接口的开发。
客户原系统服务端基于 Java 开发,并提供 Swagger 版 API 文档。我利用已有接口(涵盖课程产品信息、购买、题库、题目、答案、优惠券等),通过 PHP 重新规划小程序服务端的各功能模块,并将接口数据接入小程序。同时,结合小程序的 OAuth 2.0 与原平台的用户认证体系,构建了一套能够打通微信用户、小程序与原平台三者身份的统一用户体系,实现了跨端用户身份与数据访问权限的互通。
项目核心功能是“瓜分奖金”活动。我设计了一套特定的瓜分算法,根据每期参与用户的最终完成排名进行奖金分配,使高排名用户能够获得具有吸引力的奖励,同时平台也能保留一定结余,实现以小博大的激励效果,以及平台小程序自给自足运营方案。通过随机算法从平台现有题库中抽取每期活动考题,并采用重新设计的计分架构进行成绩统计;利用 Redis 实现近似实时的排名更新,用户可在活动期间随时查询自身排名,从而持