Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

🎉校园博客,基于微服务架构且前后端分离的博客社区系统。项目后端技术栈:JDK17+SpringBoot + SpringCloud + Mybatis-Plus + Nacos + MySQL + Redis + MQ + ElasticSearch + Docker。前端主要是基于Vue2和ElementUI进行开发的。

License

Notifications You must be signed in to change notification settings

stick-i/scblogs

Repository files navigation

校园博客 [scblogs]

校园博客

基于微服务架构的前后端分离的博客系统

知识共享许可协议

系统架构图

GitHub点此 链接 查看大图,Gitee直接点图片就可以放大

image

暂停维护

此项目为作者大学时期学习微服务时所创建,现由于个人时间原因已暂停维护,在线网站也一并下线。

此项目适合微服务初学者进行参考学习,如有疑问,仍然欢迎提issue。

项目地址

项目部署在腾讯云服务器上,代码托管在 GiteeGitHub 上,欢迎大家 Star

项目特点

  • 微服务架构开发,友好的代码结构及注释,便于阅读及二次开发
  • 前后端分离,通过 Json 进行数据交互,前端无需关注后端技术
  • 采用 Nacos 作为服务注册中心,支持分布式集群架构,方便微服务配置管理
  • 采用 Getaway 搭建网关服务,进行负载转发的同时对用户身份进行识别,并支持配置接口未认证拦截功能
  • 采用 JWT 的方式进行用户鉴权,配合网关服务保证其他所有微服务都能准确识别用户身份
  • 采用 Minio 搭建对象存储服务,同时引入七牛云对象存储
  • 采用 AOP + 自定义注解 + Redis 实现限制IP接口访问次数
  • 基于 Redis 实现的分布式全局唯一ID生成器,保障ID可用性、安全性。
  • 页面交互使用 Vue2.x,极大的提高了开发效率

项目目录

├─config:全局配置文件目录
├─document:项目文档目录
├─common:公用模块
│ ├─common-amqp:公用AMQP模块
│ ├─common-core:核心模块
│ ├─common-redis:公用Redis模块
│ ├─common-regex:公用正则模块
│ ├─common-tool:公用工具模块(需要修改或调整)
│ └─common-web:公用web模块
├─gateway-service:网关服务
├─user-service:用户服务
├─blog-service:博客服务
├─blink-service:动态服务
├─comment-service:评论服务
├─resource-service:资源服务
└─vueblog:前端Vue服务

技术选型

技术 说明 官网
SpringBoot MVC框架 https://spring.io/projects/spring-boot
SpringCloud 微服务框架 https://spring.io/projects/spring-cloud/
Gateway 网关服务框架 https://spring.io/projects/spring-cloud-gateway
Fegin RPC框架 https://spring.io/projects/spring-cloud-openfeign
Nacos 注册、配置中心 https://nacos.io/zh-cn/
MyBatis-Plus 数据库框架 https://mp.baomidou.com/
MySQL 数据库 https://www.mysql.com/
Redis 分布式缓存 https://redis.io/
RabbitMQ 消息队列 https://www.rabbitmq.com/
Elasticsearch 搜索引擎 https://github.com/elastic/elasticsearch
Docker 容器化部署 https://www.docker.com/
Jenkins 自动化部署服务 https://www.jenkins.io/
Druid 数据库连接池 https://github.com/alibaba/druid
七牛云 七牛云 https://developer.qiniu.com/sdk#official-sdk
SLF4J 日志框架 http://www.slf4j.org/
Lombok 简化对象封装工具 https://github.com/rzwitserloot/lombok
Nginx web服务器 http://nginx.org/
Hutool Java工具包类库 https://hutool.cn/docs/#/
Minio 本地对象存储服务 https://min.io/
Docker Compose Docker容器编排 https://docs.docker.com/compose/

启动服务

启动后端

需要准备的环境:

  • MySQL(强制)
  • Redis(强制)
  • Nacos(强制)
  • ES(blog-content-service依赖,需要安装ik分词器)
  • RabbitMQ(blog-service依赖)
  • MinIO(resource-service依赖)

SQL、Nacos配置等文件以及说明在 document 目录下,Nacos里的相关配置也需要修改为自己实际的。

由于本项目没有完善的教程文档,故仅适合有一定项目基础的同学,同时也欢迎大家来补充教程。

启动前端

1、安装node.js 参考菜鸟教程:https://www.runoob.com/nodejs/nodejs-install-setup.html

2、运行前端项目

# 进入到前端项目目录
cd vueblog
# 强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。
npm install --registry=https://registry.npmmirror.com
# 本地开发 启动项目
npm run serve

打开浏览器输入 http://localhost:8080/

参与贡献

在参与项目贡献前,请先阅读 CONTRIBUTING 这个文件,这很重要。

如果你经常性的无法访问GitHub,这篇文章或许可以帮到你:GitHub连接不上解决方案

贡献者名单

赞助

如果本项目对你有帮助,可以请作者喝杯奶茶(超爱)!

☕️微信赞赏 ☕️支付宝赞赏
微信 支付宝

About

🎉校园博客,基于微服务架构且前后端分离的博客社区系统。项目后端技术栈:JDK17+SpringBoot + SpringCloud + Mybatis-Plus + Nacos + MySQL + Redis + MQ + ElasticSearch + Docker。前端主要是基于Vue2和ElementUI进行开发的。

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 10

AltStyle によって変換されたページ (->オリジナル) /