# 关于本项目

原文：https://blog.grtsinry43.com/about-grtblog/

发布时间：2025-02-04T03:11:10Z

内容更新时间：2025-02-04T03:11:10Z

## 技术选择

这是一个开源项目，地址在 [Github](https://github.com/grtsinry43/grtblog)，我会长期进行维护。

![项目地址](https://blog.grtsinry43.com/uploads/2024/12/14/_20241214_001614.png_2a19bb2a-43f5-49f0-899c-5e8a418753d9.png)

文档在[grtblog](https://grtblog.js.org/)

![文档网站](https://blog.grtsinry43.com/uploads/2024/12/14/_20241206_120451.png_e7719f5b-9fd3-4a0b-9de5-a297dc402f16.png)

它采用了前后端分离的方式进行开发，

为了平衡 SSG 和 SSR 的优势，我选择了 Next.js 框架用于构建用户界面。这样可以在构建初期对于一些不频繁变更的内容生成静态页面，当然也可以增量生成。对于动态内容较多的页面也会采取 SSR 来保证内容网站的 SEO 完整，此外，构建页面时的请求结构能够被缓存，这样既能加速构建，也能减轻服务器压力。

后端方面采用了生态极佳性能也比较优秀的 Spring Boot，权限采用 Spring Security，使用 Spring Cloud 调用周边微服务等等，数据库选择了 mysql，后期计划迁移到我更偏爱的 postgresql

对于用户推荐部分，我用 word2vector 简单弄了一个推荐算法，使用 FastAPI，由主框架使用 API 调用；~~搜索则使用 ElasticSearch 实现，由主框架调用。~~

由于 ES 的恐怖资源占用，已更改为 MeiliSearch

中台管理为了方便目前选择的阿里的 Umi.js + Ant Design Pro

## 关于这个项目

如你所见，这是一个比较大比较笨重的全栈项目，也用了一些简单的微服务，向量搜索，推荐算法。

做它的初衷是几年前自己建立网站的想法：[本站历史](https://blog.grtsinry43.com/about-site)

作为一个前端开发者，我多么希望能有一个自己亲自写出的作品来记录我的所思所想，当然，也是提升技术的一个机会，了结了我一直以来重构这个网站的小愿望，也算是第一个比较复杂的项目了。

在开发这个系统的过程中，很感动遇见了很多与自己做着相同事情的人，我们虽素昧平生，但有缘遇见，有相同的热爱和梦想，有你们的陪伴，这条路并不孤单
