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 思维导图:
二、概要设计
Ⅰ、数据库设计
前文略,以下为 MySQL 生成的项目数据库表模型 (表的具体功能见上图):
在JDBC操作方面,Mybatis-Plus 提供了一个封装良好的数据库与Java对象之间映射关系的ORM逆向工程——mybatis-plus-generator(3.5.3版本)
,其提供的AutoGenerator
类加载配置对象后可直接生成符合 Springboot 与 MyBatis 项目结构的数据库操作代码。以减少重复冗余的数据库DAO类的创建与初始化。
为了使用这个插件,我们需要先将 mybatis-plus-generator
和 velocity
导入到 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仓库:点我进入
Ⅱ、项目演示
本文来自博客园,作者:TfiyuenLau,转载请注明原文链接:https://www.cnblogs.com/tfiyuenlau/articles/17764385.html