Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/codeprometheus/starry-blog

Personal-Blog-Project: Based on Spring Boot 3.x,Gin,Vue2.x,Thrift,Redis,Mongodb,RabbitMQ,ElasticSearch,Solr,Lucene,Docker,ELK,JWT and so on.
https://github.com/codeprometheus/starry-blog

canal docker-compose elasticsearch gin jwt lucene mongodb mybatis-plus rabbitmq redis solr springboot springsecurity thrift vue

Last synced: about 2 months ago
JSON representation

Personal-Blog-Project: Based on Spring Boot 3.x,Gin,Vue2.x,Thrift,Redis,Mongodb,RabbitMQ,ElasticSearch,Solr,Lucene,Docker,ELK,JWT and so on.

Awesome Lists containing this project

README

        

# Starry-Blog



Starry-Blog | 你的美好,我都记得



Spring Boot 3.x + Gin + Vue.js => Starry-Blog | 你的美好,我都记得















### Show

![](images/img-1.jpg)

### Server

| 技术 | 说明 | 版本 | 官网 |
|:---------------:|:---------------:|:--------:|:------------------------------------------------------------------------------------------:|
| Spring Boot | Java web 框架 | 3.0.2 | [https://spring.io/projects/spring-boot](https://spring.io/projects/spring-boot) |
| Gin | Go web 框架 | 1.8.2 | [https://gin-gonic.com/](https://gin-gonic.com/) |
| Thrift | RPC | 0.17.0 | [https://thrift.apache.org/](https://thrift.apache.org/) |
| Docker | 容器引擎 | 20.10.11 | [https://www.docker.com/](https://www.docker.com/) |
| Docker Compose | 容器编排 | 3.9 | [https://docs.docker.com/compose/](https://docs.docker.com/compose/) |
| Portainer | Docker可视化管理 | 1.x | [https://github.com/portainer/portainer](https://github.com/portainer/portainer) |
| MySQL | 数据库 | 8.0.28 | [https://www.mysql.com/](https://www.mysql.com/) |
| Redis | 缓存 | 6.x | [https://redis.io/](https://redis.io/) |
| Mongodb | 文档型数据库 | 6.x | [https://www.mongodb.com/](https://www.mongodb.com/) |
| RabbitMQ | 消息队列 | 3.9.7 | [https://www.rabbitmq.com/](https://www.rabbitmq.com/) |
| Elasticsearch | 搜索引擎 | 8.5.2 | [https://github.com/elastic/elasticsearch](https://github.com/elastic/elasticsearch) |
| Canal | 数据同步 | 1.1.5 | [https://github.com/alibaba/canal/](https://github.com/alibaba/canal) |
| Solr | 搜索引擎 | 8.9.0 | [https://solr.apache.org/](https://solr.apache.org/) |
| Lucene | 搜索引擎 | 8.9.0 | [https://lucene.apache.org/](https://lucene.apache.org) |
| Spring Security | 认证和授权框架 | 3.0.2 | [https://spring.io/projects/spring-security](https://spring.io/projects/spring-security) |
| JWT | JSON Web Token | 4.2.2 | [https://github.com/auth0/java-jwt](https://github.com/auth0/java-jwt) |
| Quartz | 作业调度框架 | 3.0.2 | [http://www.quartz-scheduler.org/](http://www.quartz-scheduler.org/) |
| Swagger-UI | 文档生产工具 | 3.0.0 | [ https://github.com/swagger-api/swagger-ui](https://github.com/swagger-api/swagger-ui) |
| Kibana | 分析和可视化平台 | 8.5.2 | [https://www.elastic.co/cn/kibana](https://www.elastic.co/cn/kibana) |
| Beats | 轻量型数据采集器 | 8.5.2 | [https://www.elastic.co/cn/beats/](https://www.elastic.co/cn/beats) |
| Logstash | 用于接收Beats的数据并处理 | 8.5.2 | [https://www.elastic.co/cn/logstash](https://www.elastic.co/cn/logstash) |
| MyBatis-Plus | ORM框架 | 3.5.x | [https://mp.baomidou.com/](https://mp.baomidou.com/) |
| Hikaricp | 数据库连接池 | 5.x | [https://github.com/brettwooldridge/HikariCP](https://github.com/brettwooldridge/HikariCP) |
| Lombok | 简化对象封装工具 | 1.8.20 | [https://github.com/rzwitserloot/lombok](https://github.com/rzwitserloot/lombok) |
| Nginx | HTTP和反向代理web服务器 | 1.20.1 | [http://nginx.org/](http://nginx.org/) |
| Hutool | Java工具包类库 | 5.7.13 | [https://hutool.cn/docs/](https://hutool.cn/docs/) |
| Ip2region | 离线IP地址定位库 | 2.6.6 | [https://github.com/lionsoul2014/ip2region](https://github.com/lionsoul2014/ip2region) |

### Front

| 技术 | 说明 | 官网 |
|:------------:|:---------:|:------------------------------------------------------------------------------------------:|
| Vue.js | 前端框架 | [https://vuejs.org/](https://vuejs.org/) |
| Vue-router | 路由框架 | [https://router.vuejs.org/](https://router.vuejs.org/) |
| Vuex | 全局状态管理框架 | [https://vuex.vuejs.org/](https://vuex.vuejs.org/) |
| Element | 后台ui框架 | [ https://element.eleme.io](https://element.eleme.io/) |
| Vuetify | 前台ui框架 | [ https://vuetifyjs.com/](https://vuetifyjs.com/) |
| Axios | 前端HTTP框架 | [ https://github.com/axios/axios](https://github.com/axios/axios) |
| Echarts | 图表框架 | [www.echartsjs.com](https://www.echartsjs.com/) |
| Highlight.js | 代码语法高亮插件 | [https://github.com/highlightjs/highlight.js](https://github.com/highlightjs/highlight.js) |
| clipboard.js | 现代化的拷贝文字 | [http://www.clipboardjs.cn/](http://www.clipboardjs.cn/) |
| animate.css | 炫酷的CSS动画库 | [https://animate.style/](https://animate.style/) |
| live2d | 看板娘 | [https://www.live2d.com/](https://www.live2d.com/) |

###

项目结构

~~~markdown
├── blog-admin # 后台
├── blog-common # 公共
├── blog-core # 博客
├── blog-inf # 前台
├── blog-spider # Go
├── blog-vue # 前端
├── canal
├── docker-compose.yml
├── es
├── images
├── lucene
├── Dockerfile
├── LICENSE
├── README.md
├── pom.xml
└── starry-blog.sql
~~~

### Builder

- 2021/1/1 v1.0 项目初始

- 2021/3/28 v1.5 项目正式发布

- 2021/8/14 v3.0 前后台重构

- 2021/09/30 v4.0 搜索服务

- 2021/12/19 v5.0 数据同步

- 2022/01/08 v6.0 部署

- 2023/01/26 v7.0 大重构

### Feature

- Redis string,list,hash,set,zset

- MQ 异步更新 Elasticsearch,Solr,Lucene,发送评论通知邮件,评论延迟队列自动审核机制

- Docker-compose up 一键启动所有中间件

- Aop + 自定义注解,令牌桶流量控制

- Canal 通过 MQ 保证数据最终一致性

- ELK [ElasticSearch + Beats + Kibana + Logstash],日志埋点

- 策略模式搜索服务自由切换,Elasticsearch,Solr,Lucene,MySQL

- WebSocket 在线聊天室

- RBAC 权限管理设计,JWT 身份校验

- Quartz 作业调度框架

- Java,GO 通过 Thrift 跨语言调用

- Go 爬取各大网站热搜,写入 MongoDB,定时任务更新