Skip to content

carefree-code/Zeaya

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zeaya - 逍遥图库系统 - 现代化图片社区系统

CI Status Code Quality PHP Version License Version

逍遥图库系统 Zeaya 是一款基于 ThinkPHP 8 + MySQL 8 开发的企业级现代化图库管理系统。 系统采用前后端分离架构,后端使用 PHP 8 + ThinkPHP 8 框架,前端使用 Vue 3 构建响应式界面。

Zeaya 提供完善的图片管理功能,包括多级相册分类、智能相册自动归类、标签系统、图片编辑与滤镜、 评论互动、点赞收藏、分享功能等。系统支持瀑布流、网格、拼图等多种布局模式, 采用渐进式图片加载和懒加载技术,确保流畅的用户体验。

系统内置完整的 RBAC 权限管理、内容审核机制、API 限流保护、CSRF/XSS 防护等安全特性, 支持 PWA 离线访问、Service Worker 缓存、暗色/亮色主题切换,是个人或企业搭建图库平台的理想选择。

Demo

使用说明手册

✨ 核心特性

🔒 安全性 (P0完成 100%)

  • ✅ XSS/SQL注入/CSRF全面防护(可配置开关)
  • ✅ 文件上传安全验证与路径遍历防护
  • ✅ Policy权限控制系统
  • ✅ 会话安全加固(HttpOnly、Secure Cookie)
  • ✅ 敏感信息保护与日志脱敏
  • ✅ 细粒度API限流配置

⚡ 性能优化 (P0-P1完成 100%)

  • ✅ Redis缓存系统(查询缓存、标签管理)
  • ✅ 数据库索引优化(复合索引、高频查询优化)
  • ✅ API智能限流(令牌桶算法)
  • ✅ 图片异步处理队列
  • ✅ OPcache生产环境加速

🏗️ 架构设计 (P2完成 100%)

  • ✅ Repository模式 - 数据访问层抽象
  • ✅ Service层 - 业务逻辑分离
  • ✅ 控制器重构 - 单一职责原则
  • ✅ 标准化错误码系统(70+业务错误码)
  • ✅ 统一API响应格式

⚙️ 系统设置 (v1.1.0 新增)

  • ✅ 数据库驱动的配置管理系统
  • ✅ 5大配置分组(系统/上传/安全/性能/功能)
  • ✅ 可视化管理界面
  • ✅ 图片类型配置支持上传
  • ✅ 完整SEO优化支持(Meta/OG/Twitter Card)

📊 监控与文档 (P2-P3完成)

  • ✅ 健康检查接口(/health、/health/live、/health/ready)
  • ✅ OpenAPI 3.0规范 + Swagger UI
  • ✅ 完整技术文档(架构、部署、CI/CD)
  • ✅ 多通道日志系统(操作、安全、系统、SQL)

🧪 代码质量 (P3完成 100%)

  • ✅ PHPUnit单元测试框架
  • ✅ API集成测试套件 (58个测试用例)
  • ✅ PHPStan Level 6静态分析
  • ✅ PSR-12代码规范
  • ✅ APM性能监控集成

🐳 DevOps (P4完成 100%)

  • ✅ Docker完整容器化部署
  • ✅ GitHub Actions CI/CD流水线
  • ✅ Prometheus + Grafana监控系统
  • ✅ ELK Stack日志收集与分析
  • ✅ 自动化备份与恢复策略
  • ✅ 自动化测试与部署

📊 项目完成度

总体进度: 100% (31/31核心任务) 🎉

优先级 进度 任务数
P0 - 核心安全与性能 ✅ 100% 10/10
P1 - 核心功能优化 ✅ 100% 5/5
P2 - 架构改进 ✅ 100% 5/5
P3 - 代码质量与测试 ✅ 100% 6/6
P4 - 运维与部署 ✅ 100% 5/5
P5 - 高级特性 ⏳ 0% 0/5

🚀 快速开始

使用Docker(推荐)

# 1. 克隆项目
git clone https://gitee.com/sinma/zeaya.git photo-gallery
cd photo-gallery

# 2. 配置环境
cp .env.docker .env

# 3. 启动服务
docker-compose up -d

# 4. 访问应用
# - 主页: http://localhost:8000
# - API文档: http://localhost:8000/api-docs
# - 健康检查: http://localhost:8000/health
# - phpMyAdmin: http://localhost:8080 (开发环境)

详细说明: Docker部署文档

传统部署

composer install
cp .env.example .env
# 编辑 .env 配置
php think migrate:run
php think run

📁 项目结构

photo-gallery/
├── app/
│   ├── controller/         # 控制器(拆分为多个专注模块)
│   ├── service/           # Service层(业务逻辑)
│   ├── repository/        # Repository层(数据访问)
│   ├── model/             # Model层(ORM)
│   ├── validate/          # 验证器(多场景)
│   ├── policy/            # Policy权限策略
│   ├── constant/          # 常量(ErrorCode等)
│   └── traits/            # Traits(ApiResponse等)
├── docker/                # Docker配置
├── docs/                  # 完整文档
├── tests/                 # 测试(Unit + Feature)
├── .github/workflows/     # CI/CD配置
└── [配置文件]

📚 文档导航

必读文档

开发文档

🛠️ 技术栈

  • 框架: ThinkPHP 8.x
  • PHP: 8.0+
  • 数据库: MySQL 8.0
  • 缓存: Redis 7
  • 测试: PHPUnit 10.x
  • 静态分析: PHPStan Level 6
  • 容器: Docker & Docker Compose
  • CI/CD: GitHub Actions

🔧 开发命令

测试

vendor/bin/phpunit                    # 所有测试
vendor/bin/phpunit --testsuite=Unit   # 单元测试
vendor/bin/phpunit --coverage-html coverage/  # 覆盖率报告

代码质量

vendor/bin/phpstan analyse            # 静态分析
vendor/bin/phpcs app --standard=PSR12 # 代码风格检查

Docker操作

docker-compose up -d                  # 启动服务
docker-compose logs -f app            # 查看日志
docker-compose exec app bash         # 进入容器
docker-compose restart app            # 重启服务

🔐 核心安全特性

威胁类型 防护措施 状态
XSS 输出自动转义 + CSP
SQL注入 参数绑定 + 查询构建器
CSRF Token验证 + Same-Site Cookie
文件上传 MIME验证 + 大小限制 + 路径检查
未授权访问 Policy + RBAC
会话劫持 HttpOnly + Secure + 过期控制
暴力破解 API限流 + 失败计数

🎯 核心功能

  • 用户系统: 注册/登录、权限管理、积分系统
  • 图片管理: 上传/编辑、相册管理、批量操作
  • 图片编辑: 裁剪、旋转、翻转、滤镜、水印
  • 社交功能: 点赞、收藏、评论、分享
  • 管理后台: 内容审核、用户管理、数据统计

🚦 API健康检查

curl http://localhost:8000/health        # 完整健康检查
curl http://localhost:8000/health/live   # 存活探测(K8s)
curl http://localhost:8000/health/ready  # 就绪探测(K8s)
curl http://localhost:8000/health/info   # 系统信息

🤝 贡献

欢迎贡献!请遵循以下规范:

  1. Fork项目并创建特性分支
  2. 遵循PSR-12代码规范
  3. 编写单元测试
  4. 通过PHPStan检查
  5. 提交Pull Request

Gitee项目地址: https://gitee.com/sinma/zeaya

Github项目地址: https://github.com/carefree-code/Zeaya

📞 联系方式

📄 许可证

Apache-2.0 License


Built with ❤️ using ThinkPHP 8

About

逍遥图库系统 Carefree Photo Gallery - Zeaya

Topics

Resources

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
LICENSE.txt

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages