• SpringCloudAlibaba+Vue2.0搭建博客项目


    本项目由本人原创,仅供学习交流,由于本人是一个JAVA后端工程师,所以前端写的很菜,大佬勿喷。

    • 项目演示地址
      项目演示地址
      注:因为项目环境较大,本人资金有限,自己的服务器只能跑起来一部分服务,所以借用了盆友的服务器,如果访问不到,那么就是我盆友给我停了,各位大佬可以自己搭建环境跑一下
    • 首页展示及粒子效果展示
      注:这里之所以要单独展示是因为上线后,因为环境原因,这个粒子效果没有了,我懒得调了,所以截个图

      首页粒子效果展示视频

    • 功能展示

    功能展示

    • 项目实现的功能

    1.博文功能:编写博客,修改博客,ES高亮搜索,个人博客主页,集成了Elasticsearch集群
    2.聊天:消息的发送,接收,私聊,群聊,创建群聊,添加好友,好友验证,仿微信PC端实时刷新消息列表,集成了WebScoket
    3.留言:发送留言,查看留言列表,集成RabbitMQ
    4.用户管理:登录,注册

    • 架构

    在这里插入图片描述

    • 环境要求
      1.本项目环境全部基于Docker
      2.服务器内存必须大于4核8G,因为本人的4核G就只能够搭建环境无法部署项目,最后使用了两台服务器
      注:也可以多机部署,或者将集群配置降低为单机版
    • 框架

    前端:
    Vue 2.0
    HTML
    CSS
    ElementUI

    后端:

    {
      "settings": {
        "number_of_shards": 5,
        "number_of_replicas": 1
      },
      "mappings": {
        "properties": {
          "ID": {
            "type": "text"
          },
          "title": {
            "type": "text"
          },
          "content": {
            "type": "text"
          },
          "createTime": {
            "type": "date",
            "format": "yyyy-MM-dd HH:mm:ss.SSS||yyyy-MM-dd'T'HH:mm:ss.SSS||yyyy-MM-dd HH:mm:ss||epoch_millis"
          },
          "updateTime": {
            "type": "date",
            "format": "yyyy-MM-dd HH:mm:ss.SSS||yyyy-MM-dd'T'HH:mm:ss.SSS||yyyy-MM-dd HH:mm:ss||epoch_millis"
          },
          "status": {
            "type": "integer"
          },
          "userInformationId": {
            "type": "nested",
            "properties": {
              "ID": {
                "type": "text"
              },
              "avatarLink": {
                "type": "text"
              },
              "nickName": {
                "type": "text"
              }
            }
          }
        }
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • Mysql脚本
    /*
     Navicat Premium Data Transfer
    
     Source Server Type    : MySQL
     Source Server Version : 50739
     Source Schema         : personal_blog_system
    
     Target Server Type    : MySQL
     Target Server Version : 50739
     File Encoding         : 65001
    
     Date: 13/09/2022 09:35:30
    */
    
    SET NAMES utf8mb4;
    SET FOREIGN_KEY_CHECKS = 0;
    
    -- ----------------------------
    -- Table structure for t_article_details
    -- ----------------------------
    DROP TABLE IF EXISTS `t_article_details`;
    CREATE TABLE `t_article_details`  (
      `ID` varchar(19) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
      `title` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文章标题',
      `content` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文章内容',
      `create_time` datetime(0) NOT NULL COMMENT '创建时间',
      `update_time` datetime(0) NOT NULL COMMENT '更新时间',
      `status` int(1) NOT NULL DEFAULT 0 COMMENT '文章状态;0-草稿,1-已发布',
      `user_information_id` varchar(19) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '作者ID;关联用户ID',
      PRIMARY KEY (`ID`) USING BTREE
    ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
    
    -- ----------------------------
    -- Table structure for t_chat_record
    -- ----------------------------
    DROP TABLE IF EXISTS `t_chat_record`;
    CREATE TABLE `t_chat_record`  (
      `ID` varchar(19) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
      `sender_id` varchar(19) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '发送者的用户ID',
      `recipient_id` varchar(19) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '接收者的用户ID',
      `message_content` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '消息内容',
      `send_time` datetime(0) NOT NULL COMMENT '发送时间',
      `read_status` int(1) NOT NULL COMMENT '读取状态;0-未读,1-已读',
      `type` int(1) NOT NULL COMMENT '消息类型;0-私聊,1-群聊',
      `is_initialization_content` int(1) NOT NULL DEFAULT 0 COMMENT '是否为初始化内容;0-否,1-是',
      PRIMARY KEY (`ID`) USING BTREE,
      INDEX `sender_id_index`(`sender_id`) USING BTREE,
      INDEX `recipient_id_index`(`recipient_id`) USING BTREE,
      INDEX `type_index`(`type`) USING BTREE
    ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
    
    -- ----------------------------
    -- Table structure for t_friends_relationship
    -- ----------------------------
    DROP TABLE IF EXISTS `t_friends_relationship`;
    CREATE TABLE `t_friends_relationship`  (
      `ID` varchar(19) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
      `user_id` varchar(19) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户ID,关联用户ID',
      `friends_id` varchar(19) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '好友ID,关联用户ID',
      `apply_whether_adopt` int(1) NOT NULL COMMENT '是否通过了好友申请;0-否,1-是',
      `add_time` datetime(0) NOT NULL COMMENT '添加好友时间',
      PRIMARY KEY (`ID`) USING BTREE,
      UNIQUE INDEX `user_id`(`user_id`, `friends_id`) USING BTREE
    ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
    
    -- ----------------------------
    -- Table structure for t_group_info
    -- ----------------------------
    DROP TABLE IF EXISTS `t_group_info`;
    CREATE TABLE `t_group_info`  (
      `ID` varchar(19) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
      `group_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '群聊名称',
      `group_number` varchar(19) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '群号',
      `group_avatar_img` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '群头像链接',
      `create_user_id` varchar(19) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '创建用户ID',
      `create_time` datetime(0) NOT NULL COMMENT '创建时间',
      PRIMARY KEY (`ID`) USING BTREE
    ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
    
    -- ----------------------------
    -- Table structure for t_leaving_a_message
    -- ----------------------------
    DROP TABLE IF EXISTS `t_leaving_a_message`;
    CREATE TABLE `t_leaving_a_message`  (
      `ID` varchar(19) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
      `commenter_id` varchar(19) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '留言者ID',
      `recipient_id` varchar(19) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '接收者ID',
      `read_status` int(1) NOT NULL DEFAULT 0 COMMENT '读取状态;0-未读,1-已读',
      `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '留言内容',
      `create_time` datetime(0) NOT NULL COMMENT '创建时间',
      `type` int(1) NOT NULL COMMENT '留言类型;0-系统通知,1-私信',
      `is_operation` int(1) NOT NULL COMMENT '是否需要操作;0-否,1-是,2-已操作',
      PRIMARY KEY (`ID`) USING BTREE
    ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
    
    -- ----------------------------
    -- Table structure for t_user_group_relationship
    -- ----------------------------
    DROP TABLE IF EXISTS `t_user_group_relationship`;
    CREATE TABLE `t_user_group_relationship`  (
      `ID` varchar(19) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
      `user_information_id` varchar(19) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '关联用户ID',
      `group_info_id` varchar(19) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '关联群聊ID',
      `unread_quantity` int(255) NOT NULL DEFAULT 0 COMMENT '未读消息数量',
      `join_time` datetime(0) NOT NULL COMMENT '加入时间',
      PRIMARY KEY (`ID`) USING BTREE,
      UNIQUE INDEX `user_information_id`(`user_information_id`, `group_info_id`) USING BTREE
    ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
    
    -- ----------------------------
    -- Table structure for t_user_information
    -- ----------------------------
    DROP TABLE IF EXISTS `t_user_information`;
    CREATE TABLE `t_user_information`  (
      `ID` varchar(19) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
      `avatar_link` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '头像地址',
      `nick_name` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户昵称',
      `password` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '密码',
      `phone_number` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '手机号码',
      `create_time` datetime(0) NOT NULL COMMENT '创建时间',
      PRIMARY KEY (`ID`) USING BTREE
    ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
    
    INSERT INTO `t_user_information`(`ID`, `avatar_link`, `nick_name`, `password`, `phone_number`, `create_time`) VALUES ('1567812146469543930', 'https://img2.baidu.com/it/u=2548411639,1403134542&fm=253&fmt=auto&app=138&f=JPEG?w=400&h=400', '我们注定相遇', 'admin', '32312312', '2022-08-26 10:26:42');
    
    -- ----------------------------
    -- Table structure for undo_log
    -- ----------------------------
    DROP TABLE IF EXISTS `undo_log`;
    CREATE TABLE `undo_log`  (
      `branch_id` bigint(20) NOT NULL COMMENT 'branch transaction id',
      `xid` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'global transaction id',
      `context` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'undo_log context,such as serialization',
      `rollback_info` longblob NOT NULL COMMENT 'rollback info',
      `log_status` int(11) NOT NULL COMMENT '0:normal status,1:defense status',
      `log_created` datetime(6) NOT NULL COMMENT 'create datetime',
      `log_modified` datetime(6) NOT NULL COMMENT 'modify datetime',
      UNIQUE INDEX `ux_undo_log`(`xid`, `branch_id`) USING BTREE
    ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'AT transaction mode undo table' ROW_FORMAT = Dynamic;
    
    SET FOREIGN_KEY_CHECKS = 1;
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140
    • 141
    • 142
    • 143
    • 微服务JAR镜像docker-compose.yml文件
    version: "3"
    services:
      user-management-services:
        container_name: user-management-services
        image: user-management-services-1.0.jar:1.0
        ports:
          - "9001:9001"
        networks:
          - micr-net
        restart: always
      article-management-services:
        image: article-management-services-1.0.jar:1.0
        container_name: article-management-services
        ports:
          - "9002:9002"
        networks:
          - micr-net
        restart: always
      chat-management-services:
        image: chat-management-services-1.0.jar:1.0
        container_name: chat-management-services
        ports:
          - "9003:9003"
        networks:
          - micr-net 
        restart: always
      message-board-services:
        container_name: message-board-services
        image: message-board-services-1.0.jar:1.0
        ports:
          - "9004:9004"
        networks:
          - micr-net 
        restart: always
      gateway-service:
        container_name: gateway-service
        image: gateway-service-1.0.jar:1.0
        ports:
          - "9005:9005"
        networks:
          - micr-net
        depends_on:
          - user-management-services
          - article-management-services
          - chat-management-services
          - message-board-services    
        restart: always
    networks: #创建网络
       micr-net:
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
  • 相关阅读:
    Kubernetes集群部署
    用项目管理管PMP考试我该如何准备?
    【转存】 fluent mybatis 与Mybatis 简答介绍
    期货十三篇 第三篇 计划篇
    DTSE Tech Talk丨第3期:解密数据隔离方案,让SaaS应用开发更轻松
    信息化发展47
    【算法练习Day13】二叉树的层序遍历&&翻转二叉树&&对称二叉树
    达人评测 r5 6600u和锐龙R7 6800h选哪个 r56600u和R76800h对比
    01背包&完全背包学习记录
    网络安全应急响应典型案例-(DDOS类、僵尸网络类、数据泄露类)
  • 原文地址:https://blog.csdn.net/qq_46122292/article/details/126815532