环境
笔记本:ThinkPad T14 (锐龙版) 32G + 512G
操作系统:win10 教育版 + Centos 7
IDEA:2019.2.4
PyCharm:2019.3.5
虚拟机:VMware 16 Pro
数据库:MySQL8.0.19
JDK:jdk8
主要技术栈
websocket:实现实时通信与离线通信
mysql:数据存储
springboot:后端框架
mybatis-plus:jdbc-mysql框架
vue:前端框架
element-ui:前端组件库
echarts:数据可视化
docker:快速部署所依赖的服务
minio:文件存储
elasticsearch:作为搜索引擎使用
redis:缓存服务
Django:爬虫服务
社区管理端
登录:管理端使用的是授权码登录验证方式,通过邮箱接收登录授权码,授权码使用后即失效
全站数据可视化:包括基础数据、用户增长趋势、用户活跃趋势、作品增长趋势、用户性别比例、用户码龄比例、举报类型分布
举报详情:对于用户举报的数据,统一在这里进行展示和操作
违规用户管理:当用户的作品被举报后,用户的详细数据将会被展现,并且赋予操作员操作选项
发布消息:其作用是发布系统消息
广告管理:对相关页面的广告进行展示
下载中心:对于“数据可视化”的下载,以及系统爬虫的历史记录的下载
管理中心:主要分为两个方面,其一,对全站励志语言的更新与下载;其二,对全站后端接口的全方位管理——新增、同步、重置、查看、编辑、删除、搜索
社区用户端
登录、注册、找回密码
网站主页:error是用户发布的关于工作中“遇到的报错”、question是用户提出的一些问题、blink是用户收藏发布的一些励志名言
作品展示页:包括展示、点赞、收藏、举报、编辑、删除、翻译、百科
用户主页:原创的交互逻辑、更换皮肤、高亮搜索等
聊天室:两天方式分为在线聊天、离线留言;聊天内容包括文本、图片(支持放大)、表情;操作包括删除单条聊天记录、删除全部聊天记录;最后支持在线/离线提示
用户管理端
包括对自己发布的作品的管理、对系统自动生成的文章的管理、收藏管理、关注管理、系统通知管理、个人信息管理
V2.0展望
- v2.0 计划将聊天记录备份到数据库中,目前聊天数据是存储在redis(做了持久化)中的聊天室中的表情。
- v2.0 计划解决聊天室中出现丢消息的情况,因为使用的是websocket(不可靠连接),用户在聊天时偶尔会出现丢消息的情况。
- v2.0 计划搭建相关服务的集群,实现服务的高可用,目前项目所依赖的各种服务使用的是单机模式。
- v2.0 计划对用户发布的作品/评论做自动化过滤处理,实现涉及敏感词汇的文章禁止发布与更新。
- v2.0 计划基于 v1.0 中的接口管理做一个流量监控模块。
- v2.0 计划添加对缓存(redis)的可视化管理模块,类似于v1.0中的接口管理模块。