Commit Graph

28 Commits

Author SHA1 Message Date
21b1581bdb docs: 重构文档结构,按版本划分组织文档
## 主要变更
- 创建版本化文档目录结构 (v1/, v2/)
- 移动核心设计文档到对应版本目录
- 更新文档总览和版本说明
- 保留原有目录结构的兼容性

## 新增文档
- docs/v1/README.md - v1.0版本开发指南
- docs/v2/README.md - v2.0版本规划文档
- docs/v1/admin/管理后台开发文档.md
- docs/v1/backend/Golang项目架构文档.md
- docs/v1/database/数据库设计文档.md
- docs/v1/api/API接口设计文档.md

## 文档结构优化
- 清晰的版本划分,便于开发者快速定位
- 完整的开发进度跟踪
- 详细的技术栈说明和架构设计
- 未来版本功能规划和技术演进路径

## 开发者体验提升
- 角色导向的文档导航
- 快速开始指南
- 详细的API和数据库设计文档
- 版本化管理便于迭代开发
2025-07-09 12:41:16 +08:00
9e381c783d feat: 重构项目为模块化结构,拆分 CLAUDE.md 文档
All checks were successful
Deploy Frontend / deploy (push) Successful in 2m38s
## 📁 模块化重构

### 新增模块 CLAUDE.md
- `frontend/CLAUDE.md` - 前端开发指导 (Next.js, React, TypeScript)
- `docs/deployment/CLAUDE.md` - 部署配置指导 (Caddy, 服务器配置)
- `.gitea/workflows/CLAUDE.md` - CI/CD 流程指导 (Gitea Actions)

### 根目录 CLAUDE.md 优化
- 重构为项目概览和模块导航
- 提供模块选择指导
- 减少单个文件的上下文长度

### 自动化机制
- 创建 `scripts/update-claude-docs.sh` 自动更新脚本
- 集成到 pre-commit hooks 中
- 文件变更时自动更新对应模块的 CLAUDE.md

## 🎯 优化效果

### 上下文优化
- 每个模块独立的 CLAUDE.md 文件
- 大幅减少单次处理的上下文长度
- 提高 Claude 处理效率和准确性

### 开发体验
- 根据工作内容选择对应模块
- 模块化的文档更聚焦和专业
- 自动维护文档时间戳

### 项目结构
```
photography/
├── CLAUDE.md                    # 项目概览和模块导航
├── frontend/CLAUDE.md          # 前端开发指导
├── docs/deployment/CLAUDE.md   # 部署配置指导
├── .gitea/workflows/CLAUDE.md  # CI/CD 流程指导
└── scripts/update-claude-docs.sh # 自动更新脚本
```

现在 Claude 工作时只需关注单个模块的文档,大幅提升处理效率!
2025-07-09 10:54:08 +08:00
87c34179fa refactor: 清理根目录结构,重组部署文件
移动文件:
- Caddyfile → docs/deployment/Caddyfile
- fix-caddy-permissions.sh → docs/deployment/fix-caddy-permissions.sh

删除无用文件:
- 根目录 package.json (空项目文件)
- 根目录 bun.lock (无用锁定文件)
- 根目录 node_modules/ (无用依赖目录)

保留文件:
- lint-staged.config.js (项目级 pre-commit 配置)

更新引用:
- 更新 caddy-setup.md 中的文件路径
- 更新 deployment/README.md 文档结构

现在根目录更干净,部署相关文件统一在 docs/deployment/ 目录下
2025-07-09 10:44:42 +08:00
23e154aec1 fix: 修复 Caddy 权限问题和路径配置
- 修复 Caddyfile 中的路径问题,使用绝对路径 /home/gitea/www/photography
- 创建权限修复脚本 fix-caddy-permissions.sh
- 设置正确的目录权限让 caddy 用户可以访问 gitea 用户目录
- 更新部署文档,添加权限修复步骤和故障排除指南

修复内容:
-  使用绝对路径替代 ~ 路径
-  设置目录权限 755 让 caddy 用户可访问
-  添加权限检查和修复脚本
-  完善故障排除文档

现在应该能解决 "permission denied" 错误
2025-07-09 10:05:13 +08:00
00c97a3667 feat: 添加 Caddy 配置文件和部署文档
- 创建 Caddyfile 配置 photography.iriver.top 域名
- 配置静态文件服务指向 ~/www/photography/
- 添加性能优化:gzip 压缩、缓存控制
- 配置安全头和错误处理
- 添加详细的 Caddy 部署和配置文档

功能特性:
-  自动 HTTPS (Let's Encrypt)
-  静态资源缓存优化
-  Gzip 压缩
-  安全头配置
-  404 错误页面处理
-  访问日志记录

使用方法:
1. 复制 Caddyfile 到服务器 /etc/caddy/
2. 运行 sudo systemctl reload caddy
3. 访问 https://photography.iriver.top
2025-07-09 09:57:55 +08:00
400383d5cb 触发ci
All checks were successful
Deploy Frontend / deploy (push) Successful in 2m34s
2025-07-09 09:54:37 +08:00
8d8409a4c6 fix: 避免 sudo 权限问题,改用用户目录部署
- 修改部署路径从 /data/photography 到 ~/www/photography
- 移除所有 sudo 命令,避免密码提示问题
- 在用户目录中创建和管理文件,无需特殊权限
- 更新部署信息显示新的路径

修复内容:
-  解决 sudo 密码错误
-  使用用户目录避免权限问题
-  简化部署流程
- ⚠️  需要手动配置 Web 服务器指向新路径

部署路径:~/www/photography/
2025-07-09 09:52:36 +08:00
c35b0751ca 触发 cicd
Some checks failed
Deploy Frontend / deploy (push) Failing after 2m59s
2025-07-09 09:47:29 +08:00
5df11e5b00 fix: 修复 CI/CD 部署中的权限问题
- 使用 sudo 创建部署目录并设置正确的所有者权限
- 在 rsync 前确保目录归用户所有
- 添加最终权限设置确保文件可访问
- 修复了 "Permission denied" 错误

现在部署过程会:
1. 用 sudo 创建目录
2. 设置目录所有者为部署用户
3. 执行 rsync 上传文件
4. 最终设置正确的文件权限
2025-07-09 09:44:33 +08:00
a60c886c1b fix: 配置 Next.js 静态导出解决 CI/CD 部署问题
Some checks failed
Deploy Frontend / deploy (push) Has been cancelled
- 在 next.config.mjs 中添加 output: 'export' 配置
- 设置 distDir: 'out' 指定输出目录
- 添加 trailingSlash: true 优化静态文件服务
- 现在构建会生成 frontend/out 目录供 CI/CD 部署使用

修复了 rsync 找不到 frontend/out 目录的问题
2025-07-09 09:32:12 +08:00
fe59c8b499 feat: 添加 pre-commit hooks 配置
- 安装 husky 和 lint-staged 用于 Git hooks 管理
- 配置 pre-commit 检查:ESLint、TypeScript、Prettier
- 添加 Prettier 代码格式化配置和插件
- 更新项目文档说明 pre-commit 工作流程
- 配置文件包括:
  - .husky/pre-commit: Git pre-commit hook 脚本
  - lint-staged.config.js: lint-staged 配置
  - frontend/.prettierrc: Prettier 配置
  - frontend/.prettierignore: Prettier 忽略文件

现在每次提交前会自动运行代码检查和格式化
2025-07-09 09:29:33 +08:00
fc90eb3fa9 test: test pre-commit hooks on TypeScript file 2025-07-09 09:28:16 +08:00
b210b3b3e7 test: test pre-commit hooks 2025-07-09 09:27:55 +08:00
17bbb92da1 fix: 修复 navigation.tsx 中的 TypeScript 类型错误
Some checks failed
Deploy Frontend / deploy (push) Failing after 2m58s
- 修正 handleTabClick 函数的参数类型定义
- 将 icon 属性改为 href 属性以匹配实际的 navItems 数据结构
- 现在类型检查可以正常通过
2025-07-09 09:22:29 +08:00
0e9d9b9010 fix: 修复 ESLint 配置和代码检查错误
Some checks failed
Deploy Frontend / deploy (push) Failing after 1m39s
- 安装 ESLint 和 eslint-config-next 依赖
- 创建 .eslintrc.json 配置文件,使用 Next.js 严格模式
- 修复 TypeScript 代码中的类型错误:
  - 移除 any 类型,使用具体的类型定义
  - 修复未使用的函数参数和变量
  - 优化组件类型定义
- 现在 CI/CD 可以成功通过 lint 检查
2025-07-09 09:10:11 +08:00
9376a67052 init doc 2025-07-09 00:13:41 +08:00
0bfcbe54b1 fix bug
Some checks failed
Deploy Frontend / deploy (push) Failing after 3m31s
2025-07-08 23:52:09 +08:00
36eec64f92 更新 frontend/bun.sh
Some checks failed
Deploy Frontend / deploy (push) Failing after 1m44s
2025-07-08 14:06:30 +00:00
a7d7924047 更新 .gitignore 2025-07-08 14:05:53 +00:00
a90ce51709 更新 frontend/bun.sh
Some checks failed
Deploy Frontend / deploy (push) Has been cancelled
2025-07-08 13:32:10 +00:00
6a33450923 feat: add Gitea workflow for frontend deployment
- Add automated deployment workflow for frontend directory changes
- Support password authentication with sshpass
- Deploy to /data/photography directory on server
- Configure Caddy server reload after deployment
- Include build, type check, and lint steps
2025-07-08 18:51:25 +08:00
60742fd563 fix: correct .gitignore formatting 2025-07-08 17:44:53 +08:00
80622be036 feat: add frontend/node_modules to gitignore 2025-07-08 17:44:25 +08:00
55932ee587 feat: improve hydration handling and add dependencies
- Add hydration state check to PhotoGallery component to prevent SSR/client mismatch
- Update bun.lock with Express and CORS dependencies for mock API
- Add placeholder image for better development experience
2025-07-08 17:39:12 +08:00
4d85b6bd24 feat: add comprehensive .gitignore file
- Ignore node_modules, build files, and dependencies
- Exclude environment files and IDE configurations
- Add backend and admin specific ignores for future development
- Cover OS generated files and temporary files
2025-07-08 17:36:52 +08:00
8c5c9a5f8e fix: resolve hydration mismatch error and improve project setup
- Fix React hydration mismatch in ThemeProvider with mounted state check
- Update layout.tsx to use light theme by default instead of system
- Optimize photo filtering with useMemo in page.tsx
- Add Express mock API for development
- Update CLAUDE.md with comprehensive project documentation
- Create backend/ and admin/ directories for future development
2025-07-08 17:34:16 +08:00
3d197eb7e3 feat: setup frontend project with bun and dynamic data fetching
- Create new frontend project directory with Next.js 15 + React 19
- Migrate from pnpm to bun for faster package management
- Add TanStack Query + Axios for dynamic data fetching
- Create comprehensive Makefile with development commands
- Setup API layer with query hooks and error handling
- Configure environment variables and bun settings
- Add TypeScript type checking and project documentation
- Update CLAUDE.md with bun-specific development workflow
2025-07-08 15:28:26 +08:00
d06caee35a init ui 2025-07-08 14:39:08 +08:00