一、数据库设计
表:总共 10 张表
accusation
举报表 包括主键 id 举报瓜 id 举报人 id 创建时间 更新时间administrator
管理员表 主键 id 管理员 id 管理瓜圈 id 创建时间 更新时间collection
收藏表 主键 id 收藏人 id 收藏瓜 id 创建时间 更新时间comment
评论表 主键 id 评论人 id 评论瓜 id 创建时间 更新时间event
瓜表 主键瓜 id 所属瓜圈 id 发布瓜人 Id 瓜名 瓜内容 评论点赞收藏数目 创建时间 更新时间eventgroup
瓜圈表 瓜圈 id 瓜圈名 瓜圈简介 创建时间 更新时间like
点赞表 主键 id 点赞人 id 点赞瓜 id 创建时间 更新时间role
角色表 角色 id 角色名 创建时间 更新时间user
用户表 用户 id 用户名 登录密码 是否记住密码 邮箱 昵称 头像 性别 生日 自我简介 创建时间 更新时间
设计规范
严格按照阿里巴巴规范,不使用外键 而在代码中使用代码逻辑关联表
使用 rbac 角色权限设计模式 通过另外加一个 role 表 用 user_role 表把 user 和对应的 role 挂勾
二、功能介绍
完成所有的基本功能和进阶需求
基本需求
- 用户可以注册账号、登陆账号
- 用户可以查询、修改自己的个人信息(如用户名、个人信息等)、修改个人信息
- 管理员可以创建和删除瓜圈
- 用户和管理员可以发布事件(瓜),每个事件展示发布者、发布时间、内容
- 管理员可以删除自己管理的瓜圈内的事件,而用户只能删除自己发布的事件
- 用户可以评论事件,删除自己的评论
- 用户可以收藏、取消收藏事件,可以看自己收藏了的合集
进阶需求
- 使用 JavaFX 或 Swing 来进行图形化界面的展示
- 使用 Pull Request 合并代码
- 密码加密、实现记住密码功能
- 用户可以举报事件,由管理员进行处理
- 用户可以点赞、取消点赞事件,每个事件展示点赞数
- 用户查看自己点赞了的合集
- 事件发布者可以删除事件下所有的评论
- 事件进行分页展示
图形化界面使用 swing 用 MVC 设计模式进行代码分层 添加 DBCP 数据库连接池,封装 Dao 增删改查代码
三、演示
1.界面设计
欢迎界面
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8OGbP2TO-1654496328808)(https://www.writebug.com/myres/static/uploads/2022/6/3/78b41d24d642df3721f4a54a787a83f2.writebug)]
简洁美观 分为登录注册和游客模式
登录界面
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wVvZoJXF-1654496328811)(https://www.writebug.com/myres/static/uploads/2022/6/3/b04e1b45b3bfabbb0e64c57f0093457c.writebug)]
输入用户名,检测到上次记住密码的用户会自动填充密码
用户每次都可以选择是否记住密码
登录成功有欢迎信息
重置按钮:清空文本框
取消按钮:返回欢迎界面
注册界面
用户输入想要注册的用户名,程序实时反馈数据库中是否已经有了这个用户名
密码需要 8 位以上英文 + 数字组合 数字 2 位以上 确认密码 实时反馈两次密码是否一致 密码进行加密
重置:清空
取消:返回
瓜网界面
所有的瓜圈信息 分页处理 菜单栏 查询瓜圈入口 点击查询即可直接跳转
瓜圈列表采用双击直接跳转的模式,贴近现实软件
管理员可以创建瓜圈
瓜圈界面
显示当前瓜圈名 瓜圈简介 瓜圈里的所有瓜 分页处理 查询瓜的入口 点击查询直接跳转 在这个界面 用户管理员可以创建当前瓜圈瓜
瓜列表双击实现跳转
返回按钮:返回瓜网
瓜界面
瓜名 作者名 发布时间 点赞收藏评论量 点赞收藏按钮 实现实时反馈到点赞量的增加减少
瓜内容
评论区
评论人 + 评论内容 + 评论时间
评论分页展示 可以选中后 按按钮查看详情
左下角直接放”我要评论的区域” 用户可以直接评论 发送后实时反馈到评论列表 删除评论 列表实时更新 瓜圈管理员可以清空评论
举报按钮跳转到举报界面(只能同时间只能单次举报,待管理员处理后蔡可以重新举报)
返回:返回瓜圈
菜单栏
包括用户状态(退出登录,登录,注册)和个人信息(修改信息,修改密码)和瓜(查询瓜圈,查询瓜 创建瓜(游客不可)创建瓜圈(只有管理员可以)) 和查看合集(点赞合集 收藏合集) 管理员有待处理选项 点击查看所属瓜圈的举报信息
修改信息界面
展示用户信息 用户名 昵称 性别单选按钮 邮箱 生日选择下拉框 个人简介 头像展示 换头像 保存新头像 还原系统默认头像
换头像用文件选择框
邮箱有格式限制
生日信息有日期合法性检测
用户名不可修改,其他都可以修改,每次可以改任意数量的信息
重置:重置回刚进入界面时的信息,重置完需要手动保存重置
返回:返回瓜网
修改密码:跳转到修改密码界面
修改密码界面
旧密码:进行密码验证,验证旧密码是否输入正确
新密码:要求密码符合密码合法格式 密码 MD5 加密
确认密码:实时验证两次密码是否输入一致
返回:返回修改信息界面
菜单栏查询瓜圈界面
菜单栏查询瓜界面
菜单栏创建瓜界面
要求输入瓜所属的瓜圈界面
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SfuRcajf-1654496328816)(https://www.writebug.com/myres/static/uploads/2022/6/3/924f726f50738aaaa40fd9a3cabf8224.writebug)]
点赞收藏合集界面
合集采用列表框显示,双击实现跳转
选中可点击收藏/点赞
举报界面
同时段只能举报一次后等待管理员处理
举报处理界面
举报信息采用表格框
处理分为删除瓜(举报有效,直接删除瓜)和静默处理(举报无效,不理会,删除举报信息)
四、整体设计
MVC 设计模式分层
dao po service util view 分层
dao service 包括接口和接口实现类
-
dao 层放数据库相关操作的代码
一次只操作一张表 -
service 层 业务逻辑处理 封装 view 数据 处理 dao 抛出异常 进行代码连表 进行事务处理
-
po 层对应数据库的实体类
-
util 层包括 日期验证工具类 数据库连接类 JDBC 连接类 分页处理类 图像处理类 密码加密类 验证密码和验证邮箱的 String 类