Aphrora Letters项目开发文档

Aphrora Letters项目开发文档

本项目使用Spring Cloud微服务框架和Vue3前端开发框架对“Leftwing Community”进行重构。
Leftwing Community作为本项目的旧版本已被弃用,文档详见基于Springboot框架——LeftwingCommunity项目开发文档 - TfiyuenLau - 博客园

Aphrora Letters是一个为众多作者提供发表哲学社科文章平台,并存放哲学著作典籍的个人社区项目站点网址:https://aphrora-letters.cpolar.io/home

一、需求分析

Ⅰ、技术选型与开源组件说明

显然,如果将JavaEE作为服务器开发语言,选用 Springboot 框架是公认最优方案。数据库操作在选用 MyBatis 的同时,使用 MyBatis-Plus 对单表操作进行API封装可以极大得提高CRUD的一般业务逻辑的开发效率。另外我采用 SpringCloud 微服务框架对之前的Springboot项目进行服务拆分,使其解耦并能够方便地实现分布式部署。

前端界面开发选用 Vue3 框架进行开发,并在前台使用 And Design Vue 组件库,后台使用 Element Plus 组件库,可使得界面开发简单的同时让其优美且现代化。另外由于前台页面是从 Bootstrap 项目迁移,故在前台会保留较多的 Bootstrap 组件。

  • JDK版本: 11
  • 项目构建管理工具: Apache Maven
  • 服务器: Apache Tomcat, Nginx
  • 后端开发框架: SpringBoot
  • 微服务框架: SpringCloud(Fegin, Gateway), SpringCloud Alibaba(Nacos)
  • 前端开发框架: Vue3
  • 前端组件库: Bootstrap, Element Plus, Ant Design vue
  • 数据存储: MySql, Redis
  • ORM框架: MyBatis, Mybatis Plus
  • 认证鉴权: Sa-Token
  • 接口文档工具: Swagger2
  • 性能测试: Jmeter
  • 容器技术: Docker

Ⅱ、项目开发需求分析

前文略,以下为项目的 XMind 思维导图
Aphrora Letters项目需求分析

二、概要设计

Ⅰ、数据库设计

前文略,以下为 MySQL 生成的项目数据库表模型 (表的具体功能见上图):
项目数据库表结构图例

在JDBC操作方面,Mybatis-Plus 提供了一个封装良好的数据库与Java对象之间映射关系的ORM逆向工程——mybatis-plus-generator(3.5.3版本),其提供的AutoGenerator类加载配置对象后可直接生成符合 Springboot 与 MyBatis 项目结构的数据库操作代码。以减少重复冗余的数据库DAO类的创建与初始化

为了使用这个插件,我们需要先将 mybatis-plus-generatorvelocity 导入到 pom 依赖当中;

<!-- mybatis-plus -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>${mybatis-plus.version}</version>
</dependency>
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.5.3</version>
</dependency>
<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity-engine-core</artifactId>
    <version>2.3</version>
</dependency>

详细用法详见 MyBatis-Plus 官方文档:代码生成器(新) | MyBatis-Plus

Ⅱ、项目结构

本项目采用 Spring Cloud 微服务框架和 Vue3 前端框架进行重构开发,下面列出本项目的微服务模块与前端模块结构:

项目结构截图

  • aphrora-letters-vue3:网站前台前端子模块
  • admin-pure:网站后台前端子模块
  • gateway:微服务网关模块
  • feign-api:微服务远程调用模块
  • article-service:文章微服务模块
  • library-service:文库微服务模块

三、详细设计

// TODO:详细设计——23-10-12

代码详见 GitHub 仓库:TfiyuenLau/AphroraLetters-Springcloud: 基于SpringCloud与Vue3框架的哲学社区项目

四、部署文档

Ⅰ、环境要求

  • 开发平台OS:Windows 10及以上
  • 部署平台OS:推荐Linux发行版
  • 内存:推荐8GB以上
  • Git: 官方稳定版
  • Java: 推荐JDK 11及以上
  • Maven: 推荐3.8.5及以上
  • Docker、Docker Compose: 官方稳定版

Ⅱ、步骤说明

1.使用 git 从 GitHub 拉取项目;

git clone https://github.com/TfiyuenLau/AphroraLetters-Springcloud.git

2.使用 Maven 对 SpringCloud 微服务子项目进行打包

mvn clean
mvn package

3.将 gateway, article-service, library-service 打包生成的 ./#/target/#.jar 文件从 ./#/target/ 复制到 ./#/ 目录下。

4.进入主项目目录,运行docker-compose一键打包部署

docker-compose up

5.进入项目前台页面 http://localhost:80/home 或项目后台面板 http://localhost:80/admin

延伸阅读

Ⅰ、相关站点

项目演示点我进入

后台地址点我进入

GitHub仓库点我进入

Ⅱ、项目演示

Home首页
文章列表
文章浏览页
后台面板登录页
后台首页
文章管理
文库管理1
文库管理2

posted @ 2023-10-14 17:01  TfiyuenLau  阅读(23)  评论(0编辑  收藏  举报