myCrayon个人博客项目基于springBoot+Vue全栈开发

目录

项目介绍

简介

项目架构

项目模块组成

数据库设计

项目展示

首页

用户登录与注册

个人信息模块

商城展示

博客模块

博客浏览

博客发布与编辑

博客搜索

社区模块

新闻模块

后台管理系统

部署方式

结语


项目介绍

简介

项目类似于CSDN,支持所有用户浏览博客和发布个人的博客,同时增加商城,社区等模块,为个人独立全栈开发项目,无套用任何现成模板。

项目架构

整体框架:基于Vue+SpringBoot前后端分离开发,前端采用Vue2.5语法(2、3语法都有),后端采用SpringBoot3+jdk17单体架构开发。

数据库:Mysql8+Redis6。

消息队列:rabbitmq。

服务器部署:阿里云。

框架说明版本号
springboot更新springboot3,使用新技术3.0.5
jdkspringboot3最低要求jdk17升级为17
javax.mail使用java进行邮箱发送1.6.2
easyExcel主要用于后台的导入导出excel表格2.1.1
mybatis用不惯编程式的plus版,还是适合自己动手写sql升级为3.0.2

项目模块组成

admin:后台管理系统,商城、博客、用户管理等

upload:用户头像、图片等文件上传

blog:博客、社区模块,博客推荐、搜索、浏览、发布、点赞收藏分享

mail:用户信箱模块

news:新闻模块,仅支持管理员发布和推送、用户浏览

user:用户模块,用户个人信息,账户、个人主页,用户之间聊天等

shop:商城模块,商品的浏览与购买

数据库设计

除去多余的students表,目前共计有17张表。其中全项目的验证码也均存储在本地数据库,接口也为本地实现。

项目展示

首页

没有考虑太多,仅做了新闻展示和部分工具推荐。

用户登录与注册

登录界面,支持三种方式登录,账户或用户名+密码登录,以及邮箱验证码登录。

数据库里的用户密码均为加密存储,确保用户安全。

注册这里的用户名是唯一的,账号为系统发放。

数据库加密存储用户隐私信息,确保用户隐私信息安全。

系统目前仅支持通过邮箱验证码的方式重新找回密码。

个人信息模块

个人主页展示个人信息,消息中心展示博客被点赞、评论信息,私信支持用户之间互相发送私信。

商城展示

支持商品模糊搜索,特价促销商品有独特标签展示,支持登录用户的详细浏览与商品购买。

商品购买后可以在个人订单中查看商品状态信息,也可以进行取消和付款等操作。

博客模块

博客浏览

分为三个分类,推荐、关注,热门博客,推荐通过自己实现的简易推荐算法,根据用户的token识别不同用户,对用户进行随机推荐博客,未登录用户仅可以浏览十条推荐博客。关注则是推送用户关注的人博客,热门则是根据博客点赞量进行排序。

浏览具体博客页面,支持用户二次编辑博客。

支持用户点赞评论收藏分享等功能。

博客发布与编辑

用户登录后点击右上角的发布即可写自己的博客,支持markdown语法,博客大体效果如上图所示。支持保存草稿和二次编辑,发布时可以选择封面,编辑简介,设置博客权限等。

博客搜索

支持模糊搜索,本地存储10条搜索历史,以及热门词条推荐。

社区模块

目前该模块还在开发中,目标是打造成一个交流社区,类似于csdn的问答,这里不做过多展示。

新闻模块

目前仅做了首页新闻展示,支持管理员发布,并不完善,这里不多展示。

后台管理系统

支持管理员用户查看和管理各个模块,还在开发中待完善。

部署方式

通过阿里云服务器进行部署,使用tomcat进行文件存储和jar包运行,ngnix部署前端vue项目。

结语

该项目从今年一月开始着手开发,前后端同步进行,总共耗时1个月,后期会完善项目后进行开源。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/756726.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【反者道之动,弱者道之用】统计学中的哲理——回归均值 Regression to the mean

💡💡在统计学中,回归均值(Regression toward the Mean/Regression to the Mean) 指的是如果变量在其第一次测量时是极端的,则在第二次测量时会趋向于接近平均值的现象。   在金融学中, 回归均值是指股票价格无论高于…

基于Java毕业生生活用品出售网站的设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,…

个人搭建cppreference网站

近日,由于购买的腾讯云服务器要过期了,之前在服务器搭建的cppreference也要重新搭建,故写下此文章 cppreference的访问速度也慢,故自己WSL子系统简单搭键一下是个不错的选择 环境准备 首先,自己先安装Nginx,在网上找安装教程即可下载cppreference网站资源包:https://pan.baidu…

24/06/24(12.1117)指针进阶 ,冒泡和快排 习题为依托巩固概念(strlen,sizeof,字符串,数组,指针大小的区别)

回调函数 回过头来调用的函数 #include <stdio.h> #include <stdlib.h> int Find_Max(int arr[], int n){ int max_value arr[0]; for (int i 1; i < n; i){ if (max_value < arr[i]) max_value arr[i]; } return…

数据资产驱动的智能化转型之路:深入解析数据资产在数字化转型中的核心作用,构建全面、智能的数据资产解决方案,助力企业实现智能化运营和决策,引领行业创新

目录 一、引言 二、数据资产在数字化转型中的核心作用 1、决策支持 2、业务优化 3、创新驱动 4、风险管理 三、构建全面、智能的数据资产解决方案 1、数据资产战略规划 2、数据资产采集与整合 3、数据资产治理 4、数据资产分析与挖掘 5、数据资产应用与服务 四、数…

二叉树的层序遍历/后序遍历(leetcode104二叉树的最大深度、111二叉树的最小深度)(华为OD悄悄话、数组二叉树)

104二叉树的最大深度 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 本题可以使用前序&#xff08;中左右&#xff09;&#xff0c;也可以使用后序遍历&#xff08;左右中&#xff09;&#xff0c;…

【MySQL】数据库——存储引擎

一、存储引擎概述 1.概念 MySQL中的数据用各种不同的技术存储在文件中&#xff0c;每一种技术都使用不同的存储机制、索引技巧、锁定水平并最终提供不同的功能和能力&#xff0c;这些不同的技术以及配套的功能在MySQL中称为存储引擎存储引擎是MySQL将数据存储在文件系统中的存…

数字化转型中,通过客户画像寻找触达客户经济路径

在当今数字化高速发展的时代&#xff0c;企业的数字化转型势在必行。其中&#xff0c;如何通过客户画像找到触达客户经济路径成为关键所在。 客户画像&#xff0c;是对客户全方位信息的精细描绘&#xff0c;涵盖了年龄、性别、地域、消费习惯、兴趣爱好等众多维度。这就如同为…

大模型和数据库最新结合进展

写在前面 本文主要内容是上次接受 infoQ 访谈&#xff0c;百度智能云朱洁老师介绍了大模型和 AI 结合相关话题&#xff0c;这次整体再刷新下&#xff0c;给到对这个领域感兴趣的同学。 当前&#xff0c;百度智能云云数据库特惠专场开始&#xff01;热销规格新用户免费使用&am…

前端技术栈学习:Vue2、Vue cli脚手架、ElementUI组件库、Axios

1 基本介绍 &#xff08;1&#xff09;Vue 是一个前端框架, 易于构建用户界面 &#xff08;2&#xff09;Vue 的核心库只关注视图层&#xff0c;不仅易于上手&#xff0c;还便于与第三方库或项目整合 &#xff08;3&#xff09;支持和其它类库结合使用 &#xff08;4&#…

mysql数据库的主从复制

MySQL主从复制的应用场景 当只有一台MySQL服务器要负责读写时&#xff0c;对于安全性&#xff0c;高可用&#xff0c;高并发等需求就不能满足&#xff0c;因此就要建立集群&#xff0c;集群的基础就是主从复制。 原理&#xff08;过程&#xff09; MySQL支持的复制类型 基于语…

守护你的每一步:揭秘电子厂劳保鞋的秘密

在电子厂的繁忙车间里&#xff0c;工友们忙碌的身影中&#xff0c;你是否注意到那一双双看似普通的劳保鞋&#xff1f;它们不仅承载着工人们辛勤的汗水&#xff0c;更是守护他们每一步安全的重要装备。今天&#xff0c;就让我们一起揭秘电子厂劳保鞋的秘密&#xff0c;看看它们…

Springcloud-消息总线-Bus

1.消息总线在微服务中的应用 BUS- 消息总线-将消息变更发送给所有的服务节点。 在微服务架构的系统中&#xff0c;通常我们会使用消息代理来构建一个Topic&#xff0c;让所有 服务节点监听这个主题&#xff0c;当生产者向topic中发送变更时&#xff0c;这个主题产生的消息会被…

【论文阅读】transformer及其变体

写在前面&#xff1a; transformer模型已经是老生常谈的一个东西&#xff0c;以transformer为基础出现了很多变体和文章&#xff0c;Informer、autoformer、itransformer等等都是顶刊顶会。一提到transformer自然就是注意力机制&#xff0c;变体更是数不胜数&#xff0c;一提到…

解决error Error: certificate has expired问题

安装环境遇到下面问题&#xff1a; 产生原因&#xff1a;可能是开了服务器代理访问导致ssl安全证书失效 解决办法&#xff1a; 在终端输入以下命令&#xff1a; yarn config set "strict-ssl" false -g

Element UI搭建使用过程

本章内容基于上一篇---Vue-cli搭建项目基础版 Vue-cli搭建项目----基础版-CSDN博客 官网地址:Element - The worlds most popular Vue UI framework 介绍:完全基于Vue.js ,用于快速搭建用户界面. 第一步:安装ElementUI 在终端输入 npm i element-ui -S 在main.js输入 …

《SpringBoot+Vue》Chapter04 SpringBoot整合Web开发

返回JSON数据 默认实现 依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>在springboot web依赖中加入了jackson-databind作为JSON处理器 创建一个实体类对象…

Python逻辑控制语句 之 判断语句--if、if else 和逻辑运算符结合

逻辑运算符&#xff1a; and or not 1.案例一 需求&#xff1a; 1. 获取⽤户输⼊的⽤户名和密码 2. 判断⽤户名是 admin 并且密码是 123456 时, 在控制台输出: 登录成功! 3. 否则在控制台输出: 登录信息错误! # 需求&#xff1a; # 1. 获取用户输入的用户名和密码 # 2. 判断…

Vue3使用jsbarcode生成条形码,以及循环生成条形码

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;我是前端菜鸟的自我修养&#xff01;今天给大家分享Vue3使用jsbarcode生成条形码&#xff0c;以及循环生成条形码&#xff0c;介绍了JsBarcode插件的详细使用方法&#xff0c;并提供具体代码帮助大家深入理解&#xff0c;彻…

005-GeoGebra基础篇-GeoGebra的点

新手刚开始操作GeoGebra的时候一般都会恨之入骨&#xff0c;因为有些操作不进行学习确实有些难以凭自己发现。 目录 一、点的基本操作1. 通过工具界面添加点2. 关于点的选择&#xff08;对象选择通用方法&#xff09;&#xff08;1&#xff09;选择工具法&#xff08;2&#xf…