项目源代码地址:
码地址:GitHub - stick2coding/dong-picture: 智能协同云图库
介绍
第一阶段,开发公共的图库平台。实战Vue 3+Spring Boot 图片素材网站的快速开发,学习文件存管业务的开发和优
化技巧。
成果:可以做为壁纸网站、表情包网站、素材库
第二阶段,对项目C端功能进行大量扩展。用户可开通私有空间,并对空间图片进行多维检索、扫码分享、批量管
理、快速编辑、用量分析。该阶段涉及大量主流业务功能开发,能学到很多业务知识和开发经验。
成果:可用作个人网盘、个人相册、作品集等
第三阶段,对项目B端功能进行大量扩展。企业可开通团队空间,邀请和管理空间成员,团队内共享图片并实时协同
编辑图片。该阶段涉及大量商业项目的应用场景,能学到很多架构设计和项目优化的技巧。
成果:可用于提供商业服务,如企业活动相册、企业内部素材库等
技术栈
后端
Java Spring Boot 框架
MySQL 数据库+ MyBatis-Plus 框架+ MyBatis X
Redis 分布式缓存+Caffeine 本地缓存
Jsoup 数据抓取
★ COS 对象存储
★ ShardingSphere 分库分表
★ Sa-Token 权限控制
★DDD领域驱动设计
★WebSocket 双向通信
★ Disruptor 高性能无锁队列
★JUC并发和异步编程
★AI绘图大模型接入
多种设计模式的运用
★多角度项目优化:性能、成本、安全性等
前端
Vue 3 框架
Vite 打包工具
Ant Design Vue 组件库
Axios 请求库
Pinia 全局状态管理
其他组件:数据可视化、图片编辑等
★前端工程化:ESLint+Prettier+TypeScript
OpenAPI 前端代码生成
学习问题的解决方法
如何拆解复杂业务,从0开始设计实现企业级系统?
如何巧用RBAC权限模型和框架实现复杂权限控制?
如何结合Redis+Caffeine 构建高性能多级缓存?
如何实现文件的高效存储,并通过十几种策略进行优化?
如何使用高级数据结构Disruptor无锁队列提升并发性能?
如何使用ShardingSphere实现动态扩容的分库分表?
如何使用WebSocket多端通信,实现企业级实时协作功能?
如何接入AI绘图大模型,实现更多高级图片处理能力?
如何使用DDD架构实现大型企业级项目?
如何快速部署上线项目?