ImageStack 是一个开源的图片管理系统,提供图片上传、浏览、下载等功能,采用前后端分离的架构设计。系统支持用户管理、权限控制、图片处理和搜索等功能,是一个功能完善的图片存储与管理平台。
- 框架:NestJS
- 数据库:MySQL + Redis + Elasticsearch
- 对象存储:MinIO
- 认证:Passport (JWT + Local)
- 其他特性:
- 邮件服务 (Nodemailer)
- 定时任务 (@nestjs/schedule)
- API文档 (@nestjs/swagger)
- TypeORM
- HTTP客户端 (@nestjs/axios)
- 框架:Vue 3 + TypeScript
- 状态管理:Pinia
- UI组件库:Ant Design Vue
- 构建工具:Vite
- CSS框架:Tailwind CSS
- 其他特性:
- Vue Router
- ECharts 数据可视化
- VueUse Head
- 用户注册
- 用户登录
- 邮箱验证
- RBAC权限管理
- 用户信息更新
- 密码找回
- 图片上传
- 图片浏览
- 图片下载
- 图片标签管理
- 图片回收站
- 短链接生成
- 二维码生成
- 更多功能开发中...
- 磁盘信息监控
- 请求日志记录
- 数据统计与图表展示
├── 前端 (Vue3 + TypeScript)
├── 后端 (NestJS)
- Node.js (v22)
- MySQL (v8+)
- Redis (v6+)
- MinIO
# 安装依赖
npm install
# 开发模式运行
npm run start:dev
# 生产模式构建
npm run build
# 生产模式运行
npm run start:prod# 进入前端目录
cd front
# 安装依赖
npm install
# 开发模式运行
npm run dev
# 构建生产版本
npm run build
# 预览生产构建
npm run preview- 后端配置文件:
src/config.ts - 前端配置:
- Vite配置:
front/vite.config.ts - TypeScript配置:
front/tsconfig.json - Tailwind配置:
front/tailwind.config.js
- Vite配置:
# 创建迁移
npm run migration:create
# 生成迁移
npm run migration:generate
# 运行迁移
npm run migration:run
# 回滚迁移
npm run migration:revert- 支持多种格式图片上传
- 图片元数据提取
- 图片标签管理
- 回收站功能
- 短链接和二维码生成
- 基于JWT的身份验证
- 基于角色的访问控制(RBAC)
- 邮箱验证和密码重置
- 磁盘使用情况监控
- 请求日志记录和分析
- 图片上传趋势统计
项目支持Docker部署,相关配置文件:
- Dockerfile
- .dockerignore
MIT License
欢迎提交Issue和Pull Request来帮助改进项目。
目前项目处于开发阶段,核心功能已经实现,更多功能正在开发中。







