智能协同云图库项目简历写法 - 智能协同云图库项目教程 - 编程导航教程 编程导航原创项目教程:[https://www.codefather.cn](https://www.codefather.cn/) 作者:[程序员鱼皮](https://yuyuanweb.feis。

编程导航原创项目教程:https://www.codefather.cn 作者:程序员鱼皮

建议

注意,以下简历写法仅供参考,根据自己的简历丰富度、以及对于项目的理解情况有选择地去写。如果你自己还没有实现项目或者不理解,建议赶紧跟着鱼皮的教程把它弄懂,再写到简历上!

本项目教程分为 3 个阶段,难度循序渐进,如果时间紧迫,可以先完成第一阶段,就可以将部分内容写到简历上了。

此外,本项目的部分知识,其实可以运用到你做的其他项目中,可以把该项目的部分亮点和你之前的项目进行整合。比如:

  • Redis + Caffeine 构建高性能多级缓存
  • 文件的高效存储和优化
  • AI 绘画大模型接入
  • 多维度搜索
  • 多维度数据分析
  • Sa-Token RBAC 权限控制
  • ShardingSphere 动态分库分表
  • WebSocket 实时协作
  • Disruptor 无锁队列提升并发性能
  • DDD 架构重构大型项目

专业技能

后端

  1. 熟悉 Java 特性,如集合类、异常处理、Lambda 编程、自定义注解等,遵循阿里 Java 规范保证项目质量。
  2. 熟悉 Java 常用类库,如 Hutool 工具库、Jsoup 爬虫、Lombok 注解、Logback 日志框架等。
  3. 熟练使用 Spring Boot 框架,能整合 MyBatis-Plus 和 MyBatis X,实现高效的数据访问层开发。
  4. 熟悉 MySQL 库表设计,能编写高性能 SQL,有索引设计、性能优化、ShardingSphere 动态分表经验。
  5. 熟悉 Redis 分布式缓存与 Caffeine 本地缓存,有多级缓存、基于 Redisson 的分布式锁的实践经验。
  6. 掌握 COS 对象存储和 CDN 的使用,有图像处理、数据沉降和监控、分片上传、断点续传的实践经验。
  7. 熟悉 HTTP 和 WebSocket 双向通信协议,能基于 WebSocket 实现多人实时协作编辑功能。
  8. 熟悉 JUC 并发工具包与多线程编程,并能利用 Disruptor 高性能无锁队列等库优化并发性能。
  9. 熟悉并实践过多种设计模式,比如策略模式、模板方法模式、单例模式、工厂模式等。
  10. 熟悉 AI 问答和 AI 绘画应用开发,自主封装过通用 AI 模块对接 AI 绘画大模型的异步接口。
  11. 掌握 RBAC 权限模型,熟练使用 Sa-Token 实现权限控制,如登录态管理、多账号体系、注解鉴权等机制。
  12. 熟悉 DDD 领域驱动设计思想,能够按模块化方式进行大型项目的分层设计,提升可维护性与可扩展性。
  13. 掌握基于 Nginx + Linux 管理面板的项目上线方法,并能通过配置反向代理解决跨域问题。
  14. 掌握 Git、Maven、Swagger、浏览器控制台、IDEA Http Client 等工具,能通过 AI 助手提高开发效率。

前端

  1. 熟悉 Vue 3 开发,能自定义企业级前端项目模板,包括 Pinia 全局状态管理、用户登录态管理、动态权限控制、菜单生成与布局切换等功能。
  2. 熟悉前端工程化,能使用 Vite 构建工具实现前端项目打包和优化,结合 TypeScript 实现类型安全开发。
  3. 熟悉前端代码规范,能使用 ESLint + Prettier + TypeScript 进行代码风格统一和质量检测,提升项目质量。
  4. 熟悉 Axios 请求库,能自定义 Axios 实例,封装全局请求与响应拦截器,实现统一的错误提示并根据环境切换请求域名。
  5. 熟悉 UI 组件库,能基于 Ant Design Vue 实现前端页面搭建与表单处理、使用 Echarts 实现数据可视化。
  6. 熟悉 HTTP 和 WebSocket 调用,能基于 WebSocket 实现实时协作功能,支持多人在线编辑与状态同步。
  7. 熟悉前端性能优化,如 CDN 加速、懒加载、图片缩略与浏览器缓存策略,提升页面加载速度并节省流量。
  8. 熟悉前端代码生成工具,比如利用 OpenAPI 自动生成 API 调用代码,提升开发效率并减少错误。
  9. 掌握前端工具链,包括 create-vue 脚手架、Vite、VS Code、WebStorm、pnpm、Git 等,能够快速搭建与管理前端项目。
  10. 熟悉前端部署与运维,能够基于 Nginx 和 Linux 服务器完成前端项目部署,并通过反向代理解决跨域问题。

项目经历

项目名称:XX 智能协同云图库(比如 “鱼皮智能协同云图库”)

建议根据自己对项目的学习理解程度,自己想个有区分度的名字,其他名称参考:

  • XX 智能协同云图库平台
  • XX 智能图库
  • XX 设计
  • XX 素材网
  • XX 表情包
  • XX 壁纸网
  • XX 云端素材库
  • XX 图片协作平台
  • XX 图片王
  • XX 个人相册
  • XX 团队相册
  • XX 图片助手

GitHub 代码地址:https://github.com/liyupi/yu-picture

建议大家也把项目放到代码仓库中,并且在主页文档里补充项目架构图、项目功能模块、技术选型等介绍信息。

** 但是注意不要抄袭鱼皮的写法!一定要加上自己的理解和扩展!** 否则一下就被面试官查出来了。

项目介绍

后端

可以根据简历的篇幅对下面的介绍进行适当的删减,比如移除最后一句话。

基于 Spring Boot + Redis + COS + AI + WebSocket 的企业级智能协同云图库平台。

分为公共图库、私有图库和团队共享图库三大模块。用户可在平台公开上传和检索图片;管理员可以上传、审核和管理分析图片。个人用户可将图片上传至私有空间进行批量管理、多维检索、编辑和分析;企业可开通团队空间并邀请成员,共享和实时协同编辑图片。

项目已部署上线,应用场景广泛,可作为公开素材网站、个人相册、企业素材库等;采用分布式存储与多级缓存,提高系统的性能和稳定性。

前端

可以根据简历的篇幅对下面的介绍进行适当的删减,比如移除最后一句话。

基于 Vue3 + Ant Design + Pinia + AI + WebSocket 的企业级智能协同云图库平台。

分为公共图库、私有图库和团队共享图库三大模块。用户可在平台公开上传和检索图片;管理员可以上传、审核和管理分析图片。个人用户可将图片上传至私有空间进行批量管理、多维检索、编辑和分析;企业可开通团队空间并邀请成员,共享和实时协同编辑图片。

项目已部署上线,应用场景广泛,可作为公开素材网站、个人相册、企业素材库等。开发中运用 ESLint + Prettier + TS 保证代码质量,并通过 OpenAPI 生成请求代码,提高开发效率。

主要工作

根据自己对项目的掌握程度,选 6 ~ 8 个左右 去写并适当调整文案,灵活一点。 强烈建议参考鱼皮的项目扩展思路多完善下项目,增加一些区分度!

后端

  1. 基于自研的 Spring Boot 项目模板 + MyBatis Plus + MyBatis X 插件构建核心业务,实现用户、图片、空间等实体表的 CRUD 操作。
  2. 使用 Spring Initializr 初始化项目,实现 MyBatis Plus、Hutool、Knife4j 接口文档、Lombok 等主流依赖整合。
  3. 引入 MyBatis Plus 实现 Mapper 自动扫描,并基于其 BaseMapper + 自定义分页拦截器快速实现 CRUD 操作,减少了大量样板代码。
  4. 统一异常管理:封装了自定义异常类及统一错误码枚举类,并基于 @RestControllerAdvice 注解开发全局异常处理器,提升了系统的稳定性。
  5. 统一响应封装:自定义响应封装类和返回成功 / 失败响应的工具类,实现了标准化的接口响应数据格式,便于前后端交互。
  6. 全局跨域配置:基于 WebMvcConfigurer 实现了全局 CORS 配置类,配置可信源,解决了前后端跨域请求问题。
  7. 精度丢失解决:自定义 Jackson 配置类,通过 ObjectMapper 配置 Long 类型序列化为字符串,解决前端因 JS 精度限制导致的长整型数据精度丢失问题,确保前后端数据一致。
  8. 通过 MyBatis Plus 的 LambdaQueryWrapper 和 SqlRunner 构造动态 SQL 查询,简化了操作数据库的编码。
  9. 库表设计:根据业务设计用户、图片、空间、空间成员表,其中图片标签采用 JSON 数组存储,便于维护;并通过给空间成员关联表添加联合索引来提升检索性能。
  10. 使用 Knife4j 自动生成接口文档,并基于 ApiOperation 注解编写接口注释,减少了人工维护文档的工作量,提高了接口可读性。
  11. 用户注册:使用 MD5 + 盐值加密策略对用户密码进行加密存储,防止明文密码泄露风险。
  12. 用户登录:通过 Redis 整合 Spring Session 分布式保存用户登录态,实现了跨服务器的用户识别。
  13. 权限管理:基于自定义权限校验注解和 Spring AOP 环绕切面,实现了统一的权限校验,区分用户和管理员。
  14. 图片存管:基于 COS 对象存储 SDK 封装了通用文件上传下载服务,并基于数据万象服务自动解析图片信息(包括宽高、格式、大小等),便于检索。
  15. 图片审核:设计分级审核策略,管理员上传图片自动通过审核,并自动记录审核时间与审核人 id,确保可审计追溯。
  16. URL 传图:使用 Hutool 请求 URL 来下载图片,并在下载前通过 Head 请求校验 URL,有效降低带宽消耗与数据异常风险。
  17. 运用 模板方法 设计模式统一封装本地图片和 URL 图片上传的流程,如校验、下载、上传和资源释放,复用代码并提高可维护性。
  18. 批量导图:利用 Jsoup 实现 Bing 网页图片抓取,并通过 CompletableFuture 实现批量上传和入库,性能提升 300%。
  19. 查询优化:为提高主页热门图片的查询性能,采用 Redis + Caffeine 构建 多级缓存,接口响应耗时降低 400%,并通过随机过期时间降低缓存雪崩风险。
  20. 加载优化:利用数据万象,在上传前对大文件进行 Webp 转码压缩和缩略图生成,再配合 CDN,大幅提高页面加载速度并节约成本。
  21. 存储优化:利用对象存储的数据沉降功能,对 30 天未访问图片自动 降频存储,并开发失效图片定时清理功能,大幅节约存储成本。
  22. 上传优化:为提高大文件上传效率,设计实现了基于 MD5 校验的 图片秒传 功能,并使用 COS SDK 实现大文件分片上传和断点续传。
  23. 空间创建:基于 分段锁 + TransactionTemplate 编程式事务实现了空间创建服务,限制每个用户最多创建一个私有空间。
  24. 空间额度:通过 TransactionTemplate 编程式事务,确保上传图片到空间时会增加存储额度的占用;并通过限流和预校验机制防止存储额度超限。
  25. 图片搜索:基于 MyBatis Plus 封装了将对象转换为 SQL 查询的通用方法,支持按关键词、标签、分类、时间范围等多维度组合搜索。
  26. 以图搜图:通过分析请求获取到百度以图搜图 API,利用 Jsoup 和 HttpClient 调用 API,并运用 门面模式 组合 API 调用来获取图片列表,便于客户端使用。
  27. 颜色搜图:使用数据万象提取图片主色调并存储到数据库,搜索时通过欧氏距离计算颜色相似度并通过 Stream API 进行排序。
  28. 批量编辑:通过 Transactional 事务管理确保批量编辑图片的原子性;并利用 ThreadPoolExecutor + 数据库批处理进一步优化了批处理性能。
  29. AI 扩图:基于阿里云百炼大模型封装 AI 绘图服务,提供创建与查询任务的 API,采用异步任务轮询处理进度,并统一错误码以提升稳定性。
  30. 空间分析:运用 group by 实现数据的聚合统计,并通过 MyBatis Plus 的 selectObjs 方法按需选择字段,提高查询性能并节约内存占用。
  31. 成员管理:设计 space_user 关联表保存团队空间成员及角色信息,使用唯一联合索引防止成员重复加入,同时提升查询性能。
  32. 运用 @Lazy 注解,解决了空间服务和空间成员服务互相引用导致的循环依赖问题。
  33. 权限管理:基于 Sa-Token 的 Kit 模式实现了多账号体系的 RBAC 权限控制,通过从请求上下文中获取参数实现了统一的权限校验逻辑,并运用注解合并简化了鉴权注解的使用,轻松实现方法级别的权限校验。
  34. 数据分表:使用 ShardingSphere 自定义分表算法实现了团队空间图片的 动态分表,提高了查询效率。并且为了通过框架内置的校验规则,手动维护可用分表节点。
  35. 协作编辑:基于 WebSocket + 事件驱动设计 实现多人协作编辑图片功能,自定义握手拦截器确保权限校验通过后才能连接,并通过 “编辑锁” 机制,避免编辑冲突。
  36. 协作优化:基于 Disruptor 无锁队列 实现了 WebSocket 消息的异步化处理,显著提升系统吞吐量;并结合 @PreDestroy 注解实现优雅停机,防止编辑操作丢失。
  37. 架构升级:随着项目代码量增大,引入领域驱动设计 DDD,将业务逻辑按子域拆分,优化了代码结构与可扩展性。
  38. 部署上线:通过宝塔 Linux 的 Java 项目管理器部署 jar 包,并通过 Nginx 配置反向代理解决跨域问题。

前端

  1. 基于 Vue3 + Ant Design Vue 组件库,开发公共图库、私有空间、团队管理、图库分析等 15 个页面,
  2. 使用 create-vue 脚手架 + Vite 初始化项目,自主开发了包含全局页面布局、导航菜单和通用组件的前端模板,便于后续复用。
  3. 采用 TypeScript + ESLint + Prettier 进行前端工程化管理,并自定义了 ESLint 规则,提高项目编码质量。
  4. 导航菜单生成:基于 Vue Router 的路由配置自动生成导航菜单,并通过给路由的 meta 属性增加 hideInMenu 字段实现集中控制页面的显隐。
  5. 全局权限管理:给 Vue Router 路由添加 meta.access 字段,通过 beforeEach 全局路由守卫集中校验用户有无页面权限,并进一步将权限管理相关代码封装为独立模块,简化使用。
  6. 全局状态管理:基于 Pinia 定义 UserStore 实现了对用户登录态的存储,并通过组合式 API(useStore)在各页面中访问用户信息。
  7. 全局请求:自定义 Axios 实例作为多环境通用的请求工具,并通过全局响应拦截器实现统一的请求错误消息提示。
  8. 前后端联调:使用 OpenAPI 工具根据 Swagger 接口文档生成 TS 模型和请求代码,减少手写接口的成本,大幅提高开发效率。
  9. 管理页面:基于 Ant Design 的 Table + Form 组件实现了各类管理界面,支持分页、筛选、排序、搜索,并利用插槽特性优化了表格列的展示效果。
  10. 图片上传:基于 Ant Design 的 Upload 组件封装了本地与 URL 两种上传组件,并支持图片大小、格式的前端校验。
  11. 图片详情:通过 Vue Router 动态路由,在页面中根据 url 获取到图片 id,并通过 watchEffect 监听 id 变化以触发图片查询请求。
  12. 图片下载:集成 file-saver 库,实现从对象存储的 URL 下载图片功能,用户可一键保存图片至本地。
  13. 图片展示:利用 Ant Design 的 List + Card 组件优化图片列表的响应式展示,结合 CSS 的 object-fit 属性确保图片比例一致。
  14. 图片搜索:支持关键词、标签分类、颜色搜索、以图搜图等多维度检索,基于 ref + watchEffect 自动监听搜索条件并发起查询请求。
  15. 图片优化:采用图片压缩、懒加载、缩略图、CDN 加速、浏览器缓存等措施,提升页面加载速度并节省流量。
  16. 图片分享:基于 Modal 组件实现分享弹窗组件,支持复制链接、扫码分享,并通过 defineExpose 暴露打开弹窗的方法,便于父组件使用。
  17. 图片编辑:基于 vue-cropper 组件封装了图片编辑组件,支持裁剪、旋转、缩放等功能,并通过 ref 获取裁剪后的 Blob 数据,实现编辑后自动上传。
  18. AI 扩图:对接后端提供的 AI 大模型接口,先创建扩图任务,再通过定时器轮询异步任务以实时展示处理进度。
  19. 空间分析:基于 ECharts 封装了多个分析图表组件(如分组条形图、词云图),并通过 computed 动态生成 ECharts 配置项,支持自动刷新数据。
  20. 实时协作:基于 WebSocket 事件驱动实现图片协同编辑,通过 “编辑锁” 与冲突检测机制防止编辑冲突,提升团队协作效率。

个人评价

  1. 自学和理解能力较强,能阅读文档高效自学,如云服务文档、Caffeine、Sa-Token,并快速编写 Demo。
  2. 问题解决能力较强,能够利用 GitHub Issues 区、AI 工具、搜索引擎、Stack Overflow 等自主解决问题。
  3. 有企业项目实践经验,能通过调研和对比来设计解决方案,并从性能、安全、可用性、成本多角度优化项目。
  4. 注重积累沉淀,维护了一套项目开发模板和个人工具箱,可通过复用快速完成新项目开发。
  5. 有良好的产品思维,比如针对图库平台的空间设计了存储容量、空间级别、统计分析和分享功能。
全文完
本文由 简悦 SimpRead 转码,用以提升阅读体验,原文地址