最近作者心血来潮,想做一个热点话题投票,话题相关的资讯跟踪类的小程序,方便自己发布一些大家比较关心的话题。
基于以上需求,说干就干,首先需要定义一个需求:
1、支持热门话题投票、排行榜(日排行/周排行/月排行),支持话题搜索
2、支持话题关联的资讯、事件跟踪
3、支持话题、资讯评论和点赞等操作
4、支持用户信息维护
5、支持对用户发表的信息进行审核
分析实现:
基于以上需求,我制定了以下实现方案:
后台管理系统: Vue + Spring Boot 项目
用户端:小程序/H5 + Nginx + Spring Boot 项目
其他中间件:
Redis(缓存热点数据),
Es(缓存汇总统计后的话题、资讯等数据)
Mq(异步处理数据,达到消峰的目的)
MySql(持久化数据)
云存储:存储图片类数据
最终形成的架构如下:
设计完毕,开始动手开发:
最终的实现效果如下:
用户端首页:
用户端排行榜:
用户端话题搜索页面:
用户端话题详情页面:
用户端资讯检索:
用户端资讯详情:
用户端个人中心页面:
用户端个人反馈:
用户端反馈详情:
管理后台页面:
用户端和管理后台分别对应不同的后端接口项目
朋友们,是不是看着还挺不错
还有更多的页面,大家可以访问链接查看,最好通过手机浏览器查看,效果更佳
或者微信里面搜索“惹蚁”,也可以查看和借鉴样式和UI效果。