{"id":19889325,"url":"https://github.com/codeprometheus/starry-blog","last_synced_at":"2025-06-26T03:36:12.818Z","repository":{"id":65490869,"uuid":"325819875","full_name":"CodePrometheus/Starry-Blog","owner":"CodePrometheus","description":"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.","archived":false,"fork":false,"pushed_at":"2023-05-04T02:51:32.000Z","size":9636,"stargazers_count":7,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-02T17:59:12.100Z","etag":null,"topics":["canal","docker-compose","elasticsearch","gin","jwt","lucene","mongodb","mybatis-plus","rabbitmq","redis","solr","springboot","springsecurity","thrift","vue"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CodePrometheus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-12-31T14:49:59.000Z","updated_at":"2024-12-27T07:48:39.000Z","dependencies_parsed_at":"2025-05-02T17:34:57.854Z","dependency_job_id":"356bc5c8-670d-4319-94d4-7e4c276f2c4f","html_url":"https://github.com/CodePrometheus/Starry-Blog","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CodePrometheus/Starry-Blog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodePrometheus%2FStarry-Blog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodePrometheus%2FStarry-Blog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodePrometheus%2FStarry-Blog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodePrometheus%2FStarry-Blog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CodePrometheus","download_url":"https://codeload.github.com/CodePrometheus/Starry-Blog/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodePrometheus%2FStarry-Blog/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261995849,"owners_count":23242204,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["canal","docker-compose","elasticsearch","gin","jwt","lucene","mongodb","mybatis-plus","rabbitmq","redis","solr","springboot","springsecurity","thrift","vue"],"created_at":"2024-11-12T18:09:48.539Z","updated_at":"2025-06-26T03:36:12.788Z","avatar_url":"https://github.com/CodePrometheus.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Starry-Blog\n\n\u003cp align=center\u003e\n  \u003ca href=\"https://github.com/CodePrometheus/Starry-Blog\"\u003e\n    \u003cimg src=\"./images/favicon.ico\" alt=\"Starry-Blog | 你的美好，我都记得\" style=\"width:200px;height:200px\" target=\"_blank\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=center\u003e\n   Spring Boot 3.x + Gin + Vue.js =\u003e Starry-Blog | 你的美好，我都记得\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca target=\"_blank\" href=\"https://github.com/CodePrometheus/Starry-Blog\"\u003e\n    \u003cimg src=\"https://img.shields.io/hexpm/l/plug.svg\"/\u003e\n      \u003cimg src=\"https://img.shields.io/badge/JDK-17+-orange.svg\"/\u003e\n      \u003cimg src=\"https://img.shields.io/badge/go-1.20-9370DB.svg\"/\u003e\n      \u003cimg src=\"https://img.shields.io/badge/springboot-3.x-ffe411\"/\u003e\n      \u003cimg src=\"https://img.shields.io/badge/gin-1.x-BC8F8F\"/\u003e\n      \u003cimg src=\"https://img.shields.io/badge/vue-2.x-00BFFF\"/\u003e\n      \u003cimg src=\"https://img.shields.io/badge/redis-6.x-20B2AA\"/\u003e\n      \u003cimg src=\"https://img.shields.io/badge/elasticsearch-8.x-CD853F\"/\u003e\n      \u003cimg src=\"https://img.shields.io/badge/rabbitmq-3.x-FF69B4\"/\u003e\n    \u003cimg src=\"https://badgen.net/github/last-commit/CodePrometheus/Starry-Blog\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n### Show\n\n![](images/img-1.jpg)\n\n### Server\n\n|       技术        |       说明        |    版本    |                                             官网                                             |\n|:---------------:|:---------------:|:--------:|:------------------------------------------------------------------------------------------:|\n|   Spring Boot   |   Java web 框架   |  3.0.2   |      [https://spring.io/projects/spring-boot](https://spring.io/projects/spring-boot)      |\n|       Gin       |    Go web 框架    |  1.8.2   |                      [https://gin-gonic.com/](https://gin-gonic.com/)                      |\n|     Thrift      |       RPC       |  0.17.0  |                  [https://thrift.apache.org/](https://thrift.apache.org/)                  |\n|     Docker      |      容器引擎       | 20.10.11 |                     [https://www.docker.com/](https://www.docker.com/)                     |\n| Docker Compose  |      容器编排       |   3.9    |            [https://docs.docker.com/compose/](https://docs.docker.com/compose/)            |\n|    Portainer    |   Docker可视化管理   |   1.x    |      [https://github.com/portainer/portainer](https://github.com/portainer/portainer)      |\n|      MySQL      |       数据库       |  8.0.28  |                      [https://www.mysql.com/](https://www.mysql.com/)                      |\n|      Redis      |       缓存        |   6.x    |                           [https://redis.io/](https://redis.io/)                           |\n|     Mongodb     |     文档型数据库      |   6.x    |                    [https://www.mongodb.com/](https://www.mongodb.com/)                    |\n|    RabbitMQ     |      消息队列       |  3.9.7   |                   [https://www.rabbitmq.com/](https://www.rabbitmq.com/)                   |\n|  Elasticsearch  |      搜索引擎       |  8.5.2   |    [https://github.com/elastic/elasticsearch](https://github.com/elastic/elasticsearch)    |\n|      Canal      |      数据同步       |  1.1.5   |           [https://github.com/alibaba/canal/](https://github.com/alibaba/canal)            |\n|      Solr       |      搜索引擎       |  8.9.0   |                    [https://solr.apache.org/](https://solr.apache.org/)                    |\n|     Lucene      |      搜索引擎       |  8.9.0   |                  [https://lucene.apache.org/](https://lucene.apache.org)                   |\n| Spring Security |     认证和授权框架     |  3.0.2   |  [https://spring.io/projects/spring-security](https://spring.io/projects/spring-security)  |\n|       JWT       | JSON Web Token  |  4.2.2   |           [https://github.com/auth0/java-jwt](https://github.com/auth0/java-jwt)           |\n|     Quartz      |     作业调度框架      |  3.0.2   |            [http://www.quartz-scheduler.org/](http://www.quartz-scheduler.org/)            |\n|   Swagger-UI    |     文档生产工具      |  3.0.0   |  [ https://github.com/swagger-api/swagger-ui](https://github.com/swagger-api/swagger-ui)   |\n|     Kibana      |    分析和可视化平台     |  8.5.2   |            [https://www.elastic.co/cn/kibana](https://www.elastic.co/cn/kibana)            |\n|      Beats      |    轻量型数据采集器     |  8.5.2   |            [https://www.elastic.co/cn/beats/](https://www.elastic.co/cn/beats)             |\n|    Logstash     | 用于接收Beats的数据并处理 |  8.5.2   |          [https://www.elastic.co/cn/logstash](https://www.elastic.co/cn/logstash)          |\n|  MyBatis-Plus   |      ORM框架      |  3.5.x   |                    [https://mp.baomidou.com/](https://mp.baomidou.com/)                    |\n|    Hikaricp     |     数据库连接池      |   5.x    | [https://github.com/brettwooldridge/HikariCP](https://github.com/brettwooldridge/HikariCP) |\n|     Lombok      |    简化对象封装工具     |  1.8.20  |      [https://github.com/rzwitserloot/lombok](https://github.com/rzwitserloot/lombok)      |\n|      Nginx      | HTTP和反向代理web服务器 |  1.20.1  |                           [http://nginx.org/](http://nginx.org/)                           |\n|     Hutool      |    Java工具包类库    |  5.7.13  |                     [https://hutool.cn/docs/](https://hutool.cn/docs/)                     |\n|    Ip2region    |    离线IP地址定位库    |  2.6.6   |   [https://github.com/lionsoul2014/ip2region](https://github.com/lionsoul2014/ip2region)   |\n\n### Front\n\n|      技术      |    说明     |                                             官网                                             |\n|:------------:|:---------:|:------------------------------------------------------------------------------------------:|\n|    Vue.js    |   前端框架    |                          [https://vuejs.org/](https://vuejs.org/)                          |\n|  Vue-router  |   路由框架    |                   [https://router.vuejs.org/](https://router.vuejs.org/)                   |\n|     Vuex     | 全局状态管理框架  |                     [https://vuex.vuejs.org/](https://vuex.vuejs.org/)                     |\n|   Element    |  后台ui框架   |                   [ https://element.eleme.io](https://element.eleme.io/)                   |\n|   Vuetify    |  前台ui框架   |                     [ https://vuetifyjs.com/](https://vuetifyjs.com/)                      |\n|    Axios     | 前端HTTP框架  |             [ https://github.com/axios/axios](https://github.com/axios/axios)              |\n|   Echarts    |   图表框架    |                      [www.echartsjs.com](https://www.echartsjs.com/)                       |\n| Highlight.js | 代码语法高亮插件  | [https://github.com/highlightjs/highlight.js](https://github.com/highlightjs/highlight.js) |\n| clipboard.js | 现代化的拷贝文字  |                  [http://www.clipboardjs.cn/](http://www.clipboardjs.cn/)                  |\n| animate.css  | 炫酷的CSS动画库 |                      [https://animate.style/](https://animate.style/)                      |\n|    live2d    |    看板娘    |                     [https://www.live2d.com/](https://www.live2d.com/)                     |\n\n###\n\n项目结构\n\n~~~markdown\n├── blog-admin # 后台\n├── blog-common # 公共\n├── blog-core # 博客\n├── blog-inf # 前台\n├── blog-spider # Go\n├── blog-vue # 前端\n├── canal\n├── docker-compose.yml\n├── es\n├── images\n├── lucene\n├── Dockerfile\n├── LICENSE\n├── README.md\n├── pom.xml\n└── starry-blog.sql\n~~~\n\n### Builder\n\n- 2021/1/1 v1.0 项目初始\n\n- 2021/3/28 v1.5 项目正式发布\n\n- 2021/8/14 v3.0 前后台重构\n\n- 2021/09/30 v4.0 搜索服务\n\n- 2021/12/19 v5.0 数据同步\n\n- 2022/01/08 v6.0 部署\n\n- 2023/01/26 v7.0 大重构\n\n### Feature\n\n- Redis string，list，hash，set，zset\n\n- MQ 异步更新 Elasticsearch，Solr，Lucene，发送评论通知邮件，评论延迟队列自动审核机制\n\n- Docker-compose up 一键启动所有中间件\n\n- Aop + 自定义注解，令牌桶流量控制\n\n- Canal 通过 MQ 保证数据最终一致性\n\n- ELK [ElasticSearch + Beats + Kibana + Logstash]，日志埋点\n\n- 策略模式搜索服务自由切换，Elasticsearch，Solr，Lucene，MySQL\n\n- WebSocket 在线聊天室\n\n- RBAC 权限管理设计，JWT 身份校验\n\n- Quartz 作业调度框架\n\n- Java，GO 通过 Thrift 跨语言调用\n\n- Go 爬取各大网站热搜，写入 MongoDB，定时任务更新\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeprometheus%2Fstarry-blog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodeprometheus%2Fstarry-blog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodeprometheus%2Fstarry-blog/lists"}