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"
          }
        }
      }
    }
  }
}
  • 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;


  • 微服务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
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亿只王菜菜

各位爷,赏口饭吃吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值