基于Java的在线聊天APP系统分析及设计
目录
基于Java的在线聊天APP系统分析及设计 1
一、 需求分析 3

  1. 核心用户分析 3
  2. 系统的主要功能的概述 3
  3. 项目操作流程图 4
  4. 功能详解 4
  5. 登录 4
  6. 注册 4
  7. 消息盒子 4
  8. 好友盒子 4
  9. 好友列表 4
  10. 朋友验证 4
  11. 我的账号 4
  12. 新的朋友 5
  13. 验证消息 5
  14. 好友资料卡 5
  15. 删除好友:将好友从列表中删除,删除后可以再次发送验证消息 5
  16. 移动好友 5
  17. 添加标签 5
  18. 聊天界面 5
  19. 系统的顶级用例图 5
  20. 系统的原型图设计 6
    二、数据库设计 8
  21. 好友关系表 friendship 9
  22. 好友印象表 impression 9
  23. 聊天记录表 record 9
  24. 好友验证表 validation 9
  25. 用户表 user 10
    三、 架构设计 10
    四、功能实现 14
  26. RedisConfig 14
  27. Shiro 14
  28. 然后再来看过滤器的编写,这里主要是做登录验证的 16
  29. WebSocket配置文件: 18
    Home主界面的编写 24
    好友列表的渲染 24
    好友验证提醒功能 25
    添加好友模块 25
    发送好友请求模块 25
    测试模块 30
    TESTNG文件配置 30
    浏览器驱动公共代码 31
    注册模块自动化测试代码 31
    登录模块自动化代码 32
    印象模块自动化测试代码 32
    好友删除自动化测试代码 32
    聊天界面自动化测试代码 33
    五、成果展示 33
    1)登录
    使用账号密码进行登录,登录成功之后跳转到主页面中的消息盒子的页面
    2)注册
    账号采用邮箱格式,密码要求大于八位
    3)消息盒子
    消息盒子显示你的所有的未读消息,一旦消息已读就会从消息盒子中去除
    4)好友盒子
    好友盒子有如下这些部分组成:新的朋友,我的账号,朋友验证,好友列表
    5)好友列表
    按照分组展示所有的好友,点击好友可以进入好友资料卡页面
    6)朋友验证
    当你发送的请求别人已经处理完了或者别人向你发送了请求的话此处会有一个红点表示消息数量。点击进入之后进入验证消息模块
    7)我的账号
    点击之后进入个人资料卡,在这里可以修改姓名,头像,性别,头像要求小于30kb,年龄要求不能为负数,性别要求只能是男或者女,还可以在此处删除自己的标签,也可以退出登录。
    8)新的朋友
    可以进行全局搜索,即不进行任何输入直接回车可以显示所有的好友,并且可以进行模糊搜索,只输入名字的部分也可搜索到。并且可以添加年龄和性别的限制条件。点击搜索结果可以进入好友资料卡。在这里可以填写验证消息,并且发送好友验证,自己不能添加自己,不能添加以及添加的好友,如果已经发送过依次请求对方为响应也不能发送。当这里发送之后对方的朋友验证会出现红点。
    9)验证消息
    当我们点击朋友验证之后,进入验证消息页面,如果我们发送的消息被处理了,则会有一个红点标记,别人发送的请求我们可以选择拒绝和接受。如果我们进入了此页面的话,如果存在我们发送的消息被处理了且我们自己之前未读的,则会被设置为已读。对于别人发给自己的请求,则必须在处理完之后才会被设置为已读。
    10)好友资料卡
    显示好友的基本信息,好友的标签,点击标签可以进行删除,并且可以在此页面点击发送消息进入聊天框进行聊天,本文转载自http://www.biyezuopin.vip/onews.asp?id=15385,此页面中点击右上角还可以进行删除好友,移动好友,添加标签。
    11)删除好友:将好友从列表中删除,删除后可以再次发送验证消息
    12)移动好友
    输入要移动的分组如果不存在则创建分组,若某个分组内没有了用户则删除分组,所有用户默认在默认分组中
    13)添加标签
    可以对一个用户添加一个标签,添加重复标签没有用
    14)聊天界面
    聊天界面可以双方可以实时发送消息,显示的时候自己的消息在右侧,对方的消息在左侧,且按时间排序,点击下载按钮可以进行聊天记录下载,点击删除按钮可以删除云端数据
package top.arron206.whisper;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;

@SpringBootApplication
public class WhisperApplication {

    private CorsConfiguration buildConfig() {
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        corsConfiguration.addAllowedOrigin("*");
        corsConfiguration.addAllowedHeader("*");
        corsConfiguration.addAllowedMethod("*");
        return corsConfiguration;
    }
    @Bean
    public FilterRegistrationBean corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/verification/**", buildConfig());
        source.registerCorsConfiguration("/auth/**", buildConfig());
        FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source));
        bean.setOrder(0);
        return bean;
    }

    public static void main(String[] args) {
        SpringApplication.run(WhisperApplication.class, args);
    }

}

聊天软件 技术架构 聊天软件系统设计_课程设计


聊天软件 技术架构 聊天软件系统设计_课程设计_02


聊天软件 技术架构 聊天软件系统设计_聊天软件 技术架构_03


聊天软件 技术架构 聊天软件系统设计_在线聊天APP_04


聊天软件 技术架构 聊天软件系统设计_java_05


聊天软件 技术架构 聊天软件系统设计_聊天软件 技术架构_06


聊天软件 技术架构 聊天软件系统设计_课程设计_07


聊天软件 技术架构 聊天软件系统设计_课程设计_08


聊天软件 技术架构 聊天软件系统设计_java_09


聊天软件 技术架构 聊天软件系统设计_聊天软件 技术架构_10


聊天软件 技术架构 聊天软件系统设计_java_11


聊天软件 技术架构 聊天软件系统设计_在线聊天APP_12


聊天软件 技术架构 聊天软件系统设计_聊天软件 技术架构_13


聊天软件 技术架构 聊天软件系统设计_在线聊天APP_14


聊天软件 技术架构 聊天软件系统设计_课程设计_15


聊天软件 技术架构 聊天软件系统设计_聊天软件 技术架构_16


聊天软件 技术架构 聊天软件系统设计_在线聊天APP_17


聊天软件 技术架构 聊天软件系统设计_课程设计_18


聊天软件 技术架构 聊天软件系统设计_聊天APP_19