Background
项目背景
这个网站把原来分散在本地笔记、项目目录和简历里的内容统一管理。 公开页面包括文章、项目案例、AI 学习、游戏档案、Now 和留言,后台供个人维护。 目标不是堆功能,而是让内容能长期维护:文章能编辑、草稿能保存、项目能补细节、游戏库能自动同步,同时控制部署和运维复杂度。
Responsibility
我的职责
独立完成产品结构、数据库、前后端、部署和日常维护。 - 设计文章、项目、AI、游戏和 Now 的数据结构 - 开发 Nuxt 公开页面和 Vue 内容后台 - 开发 Spring Boot API、认证和图片上传 - 配置 PostgreSQL、Nginx、systemd 和定时任务 - 处理备份、日志轮转、资源巡检和 HTTPS
Workflow
业务流程
- 01
后台创建或编辑内容
- 02
后端校验字段、权限和固定链接
- 03
Markdown 内容保存为文章
- 04
公开接口只返回已发布数据
- 05
Nuxt 在服务端渲染公开页面
- 06
Nginx 统一代理 API 和前端
- 07
定时任务维护备份、统计和游戏同步
Architecture
技术架构
前端采用 Nuxt 4 和 Vue 3,公开页面使用服务端渲染。后台是同一套 Nuxt 项目,通过受保护的 /admin 路由提供内容管理。 后端使用 Spring Boot 和 PostgreSQL。认证采用 Argon2id、会话 Cookie、CSRF、登录限流和 Bearer Token;文章正文使用 Markdown,图片上传后统一验证和压缩。 Nginx 负责 HTTPS、反向代理、安全响应头和静态资源缓存。服务由 systemd 管理,数据库和发布目录保留备份。
Engineering
工程亮点
- 文章支持 Markdown、图片上传、草稿、历史版本和复制
- 后台支持项目、游戏档案、AI 学习、热点、账号和 Now
- 公开文章按技术、游戏和 AI 分类,URL 保持稳定
- 后台认证使用 Argon2id、HttpOnly Cookie、CSRF 和限流
- Steam 使用 Web API 同步游戏库和最近两周游玩状态
- 留言使用 CSRF、字段校验和 IP 频率限制
- 数据库、前端发布和系统服务有备份与恢复策略
- 日志轮转、资源巡检和健康检查覆盖日常运维
Retrospective
项目复盘
个人项目最大的风险不是某个功能做不出来,而是内容越堆越难维护。 这个站先保证文章、项目和游戏档案的数据结构清楚,再逐步增加自动化。后面会把更多重复维护交给定时任务,公开页面保持简单,后台提供更明确的状态和错误提示。

