基于 Spring Boot3、Vue3!这套小说系统开源了...

news/2024/11/16 13:42:22/文章来源:https://www.cnblogs.com/codechen8848/p/18200856

大家好,我是 Java陈序员

今天,给大家介绍一个基于 SpringBoot3、Vue3 前后端分离的小说项目,集成了主流的技术栈,可供学习使用!

关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。

项目介绍

novel —— 一套基于 Spring Boot3 + Vue3 开发的前后端分离学习型小说项目。由小说门户系统、作家后台管理系统、平台后台管理系统等多个子系统构成。

包括小说推荐、作品检索、小说排行榜、小说阅读、小说评论、会员中心、作家专区、充值订阅、新闻发布等功能。

技术栈:

  • JDK 17
  • Spring Boot 3
  • MySQL 8.0
  • Redis 7.0
  • Elasticsearch 8.6.2
  • RabbitMQ 3.x
  • XXL-JOB 2.3.1
  • Node 16.14
  • Vue 3

项目截图

首页

分类、搜索

小说排行榜

小说详情

小说阅读

个人中心

作家专区

充值购买

快速开始

后端服务

1、拉取代码

git clone https://gitee.com/novel_dev_team/novel.git

2、初始化数据库

  • 新建数据库 novel
CREATE DATABASE IF NOT EXISTS `novel` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  • 解压 doc/sql/novel.sql.zip,得到 novel_struc.sqlnovel_data.sql 文件
  • 执行 novel_struc.sqlnovel_data.sql 文件

3、将代码以 Maven 的形式导入到 IDEA 中

4、修改配置文件 src/resources/application.yml 中的数据源连接配置、Redis 配置

--- #---------------------数据库配置---------------------------
spring:datasource:url: jdbc:mysql://localhost:3306/novel_test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghaiusername: rootpassword: test123456--- #---------------------中间件配置---------------------------
spring:data:# Redis 配置redis:host: 127.0.0.1port: 6379password: test123456

5、运行主启动类 io.github.xxyopen.novel.NovelApplication,启动项目

6、浏览器访问接口文档地址

http://localhost:8888/swagger-ui/index.htm

前端服务

1、拉取前端代码

git clone https://gitee.com/novel_dev_team/novel-front-web.git

2、安装依赖

# 如没有安装 yarn,使用如下命令安装
npm install -g yarn# 安装依赖
yarn install

3、运行项目

yarn serve

4、浏览器访问

http://localhost:1024

除了 SpringBoot 单体版本外,项目还提供了基于 SpringCloud 微服务技术栈构建的版本,也是一个值得学习的项目~

最后,贴上项目地址:

https://github.com/201206030/novel

最后

推荐的开源项目已经收录到 GitHub 项目,欢迎 Star

https://github.com/chenyl8848/great-open-source-project

或者访问网站,进行在线浏览:

https://chencoding.top:8090/#/

大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

process.poll() 检查子进程运行状态

在Python的subprocess模块中,poll()方法是Popen类的实例方法,用于检查一个子进程是否已经结束,如果已经结束,它将返回子进程的退出状态码;如果子进程尚未结束,它将返回None。 以下是poll()方法的一些关键点:检查子进程状态:poll()允许你检查一个子进程是否已经完成执行…

深入解析xLSTM:LSTM架构的演进及PyTorch代码实现详解

xLSTM的新闻大家可能前几天都已经看过了,原作者提出更强的xLSTM,可以将LSTM扩展到数十亿参数规模,我们今天就来将其与原始的lstm进行一个详细的对比,然后再使用Pytorch实现一个简单的xLSTM。 xLSTM xLSTM 是对传统 LSTM 的一种扩展,它通过引入新的门控机制和记忆结构来改进…

异构数据源同步之数据同步 → datax 改造,有点意思

开心一刻 去年在抖音里谈了个少妇,骗了我 9 万 后来我发现了,她怕我报警 她把她表妹介绍给我 然后她表妹又骗了我 7 万DataX DataX 是什么,有什么用,怎么用 不做介绍,大家自行去官网(DataX)看,Gitee 上也有(DataX)你们别不服,我这是为了逼迫你们去自学,是为了你们好…

sdf 测试-2-openssl

在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务,参考网内容 和AI要给出详细过程,否则不得分。 0. 根据gmt0018标准,如何调用接口实现基于SM3求你的学号姓名的SM3值?(5‘)使用OpenSSL实现SDF接口中的hash运算接口,至少支持SM3算法,把相关函数集成到src中的…

阅读习惯2

本学期阅读成果总结阅读书单选择与总结: 我选择了参考的书单链接(https://weread.qq.com/misc/booklist/3107758_7sb8Fs2Hv),并从中挑选了几本书开始阅读。阅读数据截图:总时长:250 小时 册数:15 本 笔记数:47 条本学期的收获:阅读时长增加:本学期我总共阅读了250小时…

lodash已死?radash库方法介绍及源码解析 —— 函数柯里化 + Number篇

点赞 + 收藏 = 学会! 本篇我们介绍radash中函数柯里化和Number 相关的方法使用和源码解析。深入学习radash中的方法思想和底层实现。写在前面 tips:点赞 + 收藏 = 学会!主页有更多其他篇章的方法,欢迎访问查看。 本篇我们继续介绍radash中函数柯里化和Number 相关的方法使用…

sdf 测试-1-龙脉智能钥匙

在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务,参考网内容 和AI要给出详细过程,否则不得分。 0. 根据gmt0018标准,推导sdf的接口调用模式,比如调用SDF_GenerateRandom,还应调用其他什么函数,调用顺序是什么,给出结论和推导过程。(10‘)使用龙脉智能钥匙…

sdf 测试-1

在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务,参考网内容 和AI要给出详细过程,否则不得分。根据gmt0018标准,推导sdf的接口调用模式,比如调用SDF_GenerateRandom,还应调用其他什么函数,调用顺序是什么,给出结论和推导过程。(10‘) 使用龙脉智能钥匙定义一…

Spring 对于事务上的应用的详细说明

1. Spring 对于事务上的应用的详细说明 @目录1. Spring 对于事务上的应用的详细说明每博一文案2. 事务概述3. 引入事务场景3.1 第一步:准备数据库表3.2 第二步:创建包结构3.3 第三步:准备对应数据库映射的 Bean 类3.4 第四步:编写持久层3.5 第五步:编写业务层3.6 第六步:…

日常Bug排查-偶发性读数据不一致

日常Bug排查-偶发性读数据不一致 前言 日常Bug排查系列都是一些简单Bug的排查。笔者将在这里介绍一些排查Bug的简单技巧,同时顺便积累素材。 Bug现场 业务场景 先描述这个问题出现的业务场景。这是一个支付的场景,如果支付成功了,我们就把支付状态置为success(主单据更新)同…

多线程和多进程 - 初窥

一、说明 在平常工作中,我们使用top命令查看一台linux服务器的cpu使用情况时,会发现某个进程的cpu使用率会超过100%,这是为什么? 二、举例 实验环境为 CentOS7.6 + Python2.7 1. 多线程、多进程在操作系统中的表现形式 我们首先看两个例子,test1.py和test2.py,都是执行死…