该项目是一个阅读与管理合一的轻量级博客,仅支持Markdown编辑。
项目使用前后端分离架构,所以部署在Github和自己的服务器各部署了一份前端网页。
项目整体运用了Docker
进行构建与运行,并且使用DockerCompose
来启动。
构建与运行应用了Docker在17.05新增的特性:Use multi-stage builds,解放了构建机需要对应环境的问题。
docker-compose up -d
运用了NodeJS
镜像进行项目的构建,然后将构建产物COPY
到nginx
镜像中,详情见Dockerfile
Github Pages : zhuyst.github.io
Nginx : skyblog.zhuyst.cc
前端使用create-react-app创建,并且还使用了以下框架/工具:
- 路由:reactr-router
- 状态管理工具:redux
- 界面:react-bootstrap
- CSS动画: react-transition-group
- Markdown渲染:react-markdown
- Markdown编辑器:react-mde
- 通知:reapop
运用了Maven
镜像进行构建,然后将构建后的app.jar
文件COPY
到openjdk
镜像中,然后使用docker
配置文件启动项目,详情见Dockerfile
Swagger : api.zhuyst.cc
- 后台使用Spring Boot为基础构建
- 使用MyBatis作为持久层框架
- 使用Swagger生成在线API文档,方便测试与开发
- 项目有完整的javadoc,并且已通过阿里巴巴编码规范插件的检测
后台API采用Spring Security来作为安全框架,并且整合了JWT来生成Token
。
数据库方面则使用MySQL
作为持久化,Redis
作为缓存,使用缓存来减少数据查询的消耗。