爆肝5天,基于SpringBoot+BootStrap的图书管理系统

基于 SpringBoot+BootStrap 的图书管理系统

这是老师在校的一个课设要求,我顺手给 share 一下

在这里插入图片描述

项目介绍

  1. NUCSELL 是一个图书网站
  2. 用户可以登录,注册,查看分类书籍并查询
  3. 管理员登录后可以在后台对图书进行增删改查
  4. 管理员登录后可以在后台对图书类型进行增删改查
  5. 管理员登录后可以在后台对用户进行增删改查
  6. 希望可以对此项目进行更多的优化和扩展

本项目基于IDEA进行开发,使用到了Swagger接口文档进行开发,使用 Github 进行协同开发,使用SpringBoot+BootStrapUI进行开发,数据库使用云端数据库进行搭建并开发,使用nginx进行反向代理(本项目域名为 www.nucsell.com:8080),本项目曾使用docker部署到阿里云服务器上,基本使用Restful风格的接口,符合阿里巴巴开发规范

系统架构解读

整个系统可以分为两部分:后台管理系统,前台展示系统。
后台管理:

① 对图书的管理:包括图书封面,图书类型,图书价格等信息的管理

② 对图书类型的管理:对多种类型的图书分类进行管理

③ 对用户的管理:包括用户的类型,用户的姓名,生日等进行管理。

后台系统采用SpringBoot+BootStrap进行开发,后台页面使用thymeleaf进行展示。
预览图:
在这里插入图片描述

前台展示:
前台门户面向的是普通用户,包含与用户交互的一切功能。例如:注册,登录,查看书籍,查询书籍等。
前台使用了BootstrapUI+SpringBoot,使用Ajax进行异步交互。
预览图:

在这里插入图片描述

技术选型

前端技术:

① 基础的 HTML、CSS、JavaScript(基于 ES6 标准)

② 使用 Ajax 进行异步交互

③ 使用 Jquery 和 BootStrapUI 美化页面和简化开发

后端技术:

① 基础的 SpringMVC、Spring 5.0 和 MyBatis Plus

②Spring Boot 2.3.4.RELEASE 版本

③nginx-1.10.2 进行反向代理

④Thymeleaf 简化开发 HTML 页面

⑤Swagger 进行编写接口文档,开发标准的 Restful 风格的接口

⑥devtools 热部署开发工具

项目开发

  1. 数据库设计

数据库环境设置过程如下:

在阿里云服务器安装 MySQL;
创建数据库、用户权限、数据库表和测试数据; 数据库文件存放在文件夹中,请开发者在 MySQL 中 按照顺序运行以下脚本:
nucsell.sql,用于创建数据库、用户详细信息和权限表,用来创建书籍目录表,用来创建书籍表及其关联关系。

Navicat:

对象设计表
user表设计
category表设计
book表设计

  1. Spring Boot 开发环境
  • 安装 JDK8(可以是 Oracle JDK 或者 OpenJDK)
  • 安装 Maven
  • 安装 Git(可选)
  • 安装 IDEA Community,建议安装 Maven 插件和 Git 插件。
  • 采用 Maven 命令安装依赖库

项目 Pom.xml 依赖:

8.pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
 <groupId>com.zzd</groupId>
    <artifactId>bookmanagersystem</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>bookmanagersystem</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--        热部署工具-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <!--        简化开发-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <!--        数据库驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!--        导入mybatis——plus  是自己开放的,不是官方的-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.0.5</version>
        </dependency>
        <!--mybatis代码生成器-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.2.0</version>
        </dependency>
        <!--        代码生成里面需要模板,so加上了freemarker-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
        </dependency>
        <!--集成swagger2,生成接口文档并调试-->
        <!-- 引入swagger-bootstrap-ui包 /doc.html-->
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>swagger-bootstrap-ui</artifactId>
            <version>1.9.1</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
            <version>2.3.4.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>

        </dependency>
        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>jquery</artifactId>
            <version>3.5.1</version>
        </dependency>
        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>bootstrap</artifactId>
            <version>4.5.0</version>
        </dependency>


        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

项目展示

1.接口文档页面:
在这里插入图片描述
2.用户登录页面
在这里插入图片描述
3.管理员登录界面(i18n zh)
在这里插入图片描述
4.管理员登录界面(i18n en)
在这里插入图片描述
5.注册界面在这里插入图片描述
6.查询分类界面(如编程)
在这里插入图片描述
7.后台管理主界面在这里插入图片描述8.书籍管理主界面在这里插入图片描述
9.修改书籍主界面
在这里插入图片描述
10.增加书籍主界面
在这里插入图片描述

等等…
我觉得这个项目很适合小白(就是我)练手,很不错!

代码地址:https://github.com/zzdnb/bookmanagersystem,喜欢的可以给个star,哈哈哈
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43688587/article/details/111569051