面包博客,一个微服务架构的前后端分离博客系统。它是作者大三不成熟的练习产物,你会看到很多开源项目的影子,前后端使用Vue+SpringCloud,鉴权登录使用JWT,使用ElasticSearch作为博客检索引擎,使用ELK进行日志收集,GithubActions完成持续集成和交付

Property
Mar 8, 2022 09:35 AM

面包博客

面包博客,一个微服务架构的前后端分离博客系统
notion image
notion image
notion image
notion image
notion image
notion image
notion image
notion image

前言

在学习的过程中,最重要的是把学到的技术系统的进行整合,最后做到融会贯通,正巧作者学校开设的云计算课程讲到了现代微服务的整体理论流程,这让作者有了尝试技术落地与实现的想法,在这种诉求下,面包博客就诞生了,你可能在它的身上会看到很多开源项目的影子,所以它更像作者大三时期的一个不成熟的练习产物。为什么叫面包博客?loaf 是现实中被裹胁的物质生活,亦是人们虚度的光阴

项目介绍

面包博客( loafBlog ),一个基于微服务架构的前后端分离博客系统。Web端使用 Vue + ElementUi ,移动端使用uniapp+ColorUI。后端使用 SpringCloud + Mybatis-plus进行开发,使用 Jwt 做登录验证和权限校验,使用ElasticSearch 作为全文检索服务,使用 Github Actions完成博客的持续集成,使用 ElasticStack 收集博客日志,文件支持上传本地阿里云OSS

项目特点

  • 良好的代码结构,配有清晰的注释,方便阅读
  • 前后端分离开发
  • 引入swagger3 文档支持,便于编写API文档
  • 引入JustAuth第三方登录,支持GithubGitee微博登录
  • 引入Nacos作为服务发现注册与分布式配置中心,方便配置与管理
  • 引入RabbitMQ消息队列,实现邮件的发送
  • 引入阿里云OSS对象存储,支持文件的上传
  • 引入FastDFS分布式数据库,支持私人的文件上传
  • 通过Github Action将服务统一打包成镜像,使用DockerCompose进行容器编排,实现CI/CD

项目地址

项目目录

  • loafblog 面包博客,管理与门户一体化的博客系统
  • loafblog-auth-server 认证中心,第三方登录、单点登录
  • loafblog-common 公共模块,主要存放常用的utils工具类、entity实体类
  • loafblog-gateway 蓝牙网关,所有接口通过统一的过滤
  • loafblog-mail 邮件服务,用于添加友链发送邮件
  • loafblog-picture 第三方服务,主要是OSS存储、短信发送
  • loafblog-search 搜索服务,全文博客的检索
  • renren-fast admin端,博客管理后台
  • loafblog_vue 面包博客管理端页面
  • loafblog_vue_web 面包博客门户页面
  • loablog_uniapp 面包博客移动端

技术选型

技术架构

notion image

后端技术

前端技术

开发环境

开发工具

推荐学习

  • 学习陌溪大佬的 蘑菇博客 技术处理方法和基础微服务架构
  • 学习技术,重视技术过程,先简化省略基础CRUD代码,使用 人人开源 组件
  • 学习简洁风格的前端样式,fenziy 大佬的博客样式

项目展示

WEB端
管理端
监控
移动端
notion image