项目回顾 - 实践经验和收获总结
本文最后更新于:1 个月前
前言
- 这个栏目将回顾在我的个人项目开发过程中,所面临过的技术挑战和经验总结
项目探秘 - 技术创新与业务突破
- 🥇从背景到实现:介绍项目的起因和实现目标、挑战、技术栈和项目启动方法
- 🥈架构设计与业务流程:探索项目所采用的技术栈和架构设计,解析项目的核心结构和流程
- 🥉功能模块深度剖析:详细介绍项目中的关键功能和模块,总结项目中的关键业务流程和取得的成果
正文
Memory Cal 忆算云
访问地址:memory-calculate
Memory BI智能分析平台
项目概述
项目名称
Memory BI智能分析平台
使用场景
- 🎓 学校社交:在大学校园里,学生们可以通过该平台找到志同道合的朋友,组织兴趣小组、参加线下活动,分享学习经验,丰富校园生活。
- 🌆 新城市社交:在新城市里,新移民或者刚刚毕业的年轻人可以通过该平台结识新朋友,扩大社交圈子,分享生活经验和资源,融入新的生活环境。
- 💼 专业领域社交:该平台可为专业人士提供行业交流和合作的地方,包括分享行业动态、经验和资源,促进专业成长和项目合作。
主要功能
- 这是一个通信交友平台,由三个社区组成:
- 👩🎓 用户中心:用户可以设置个人资料、搜索其他用户并添加好友、管理好友列表,还可以自由组队结识志同道合的朋友。
- 📞 聊天大厅:提供实时双向通信功能,用户可以和在线好友进行即时聊天,发送文字、表情、图片和语音消息,支持群聊,在线状态显示和消息通知功能增强了与好友的联系。
- 📚 博文社区:用户可以浏览、发布和评论博文,写长篇博客、心情随笔或分享图片等,与其他用户进行互动和交流,通过标签或关键词搜索感兴趣的博文,扩大知识和交友圈子。
- 这个通信交友社区的目标是为用户提供一个互动交流的社区,让用户可以在这里找到志同道合的朋友、分享自己的想法和经验,并且享受到在线聊天、博文发布和交友组队的乐趣。
项目启动
- 拉取代码后,应该如何运行该项目?
后端
- 配置
MySQL
、Redis
为本机地址:
1 |
|
1 |
|
前端
- 确保本地 Node.js 环境配置完成,版本为 v18.xx
- 修改请求的后端地址:
1 |
|
- 执行以下命令,一键启动前端项目:
1 |
|
技术选型
前端
后端
项目结构
架构设计
功能模块
用户中心 | 聊天大厅 | 博文社区 |
---|---|---|
用户可以在用户中心进行个人资料设置,包括上传头像、编辑个人简介等 | 简单清新的聊天页面,快速编辑消息,在线聊天 | 在博文社区,用户可以浏览、发布和评论博文。 |
用户还可以搜索其他用户,并添加他们为好友 | 聊天大厅是一个实时双向通信的地方,用户可以和在线好友进行即时聊天 | 用户可以写长篇博客、发表心情随笔或分享图片等。 |
在用户中心,用户可以管理自己的好友列表,查看好友的动态和在线状态 | 聊天大厅还提供在线状态显示和消息通知功能,让用户能够随时随地与好友保持联系。 | 其他用户可以对博文进行点赞和评论,从而与作者进行互动和交流。 |
用户还可以自由组队,结交志同道合的朋友。他们可以创建和加入兴趣小组,参加线上线下的活动,分享经验和爱好。 | 用户可以发送文本消息、表情、图片和语音消息,还可以进行群聊。 | 用户还可以根据标签或关键词搜索感兴趣的博文,以扩大知识和交友圈子。 |
项目收获
效果展示
Memory 缘忆交友社区
项目概述
项目名称
Memory 缘忆交友社区
使用场景
- 🎓 学校社交:在大学校园里,学生们可以通过该平台找到志同道合的朋友,组织兴趣小组、参加线下活动,分享学习经验,丰富校园生活。
- 🌆 新城市社交:在新城市里,新移民或者刚刚毕业的年轻人可以通过该平台结识新朋友,扩大社交圈子,分享生活经验和资源,融入新的生活环境。
- 💼 专业领域社交:该平台可为专业人士提供行业交流和合作的地方,包括分享行业动态、经验和资源,促进专业成长和项目合作。
主要功能
- 这是一个通信交友平台,由三个社区组成:
- 👩🎓 用户中心:用户可以设置个人资料、搜索其他用户并添加好友、管理好友列表,还可以自由组队结识志同道合的朋友。
- 📞 聊天大厅:提供实时双向通信功能,用户可以和在线好友进行即时聊天,发送文字、表情、图片和语音消息,支持群聊,在线状态显示和消息通知功能增强了与好友的联系。
- 📚 博文社区:用户可以浏览、发布和评论博文,写长篇博客、心情随笔或分享图片等,与其他用户进行互动和交流,通过标签或关键词搜索感兴趣的博文,扩大知识和交友圈子。
- 这个通信交友社区的目标是为用户提供一个互动交流的社区,让用户可以在这里找到志同道合的朋友、分享自己的想法和经验,并且享受到在线聊天、博文发布和交友组队的乐趣。
项目启动
- 拉取代码后,应该如何运行该项目?
后端
- 配置MySQL、Redis、Elasticsearch 为本机地址:
1 |
|
1 |
|
1 |
|
前端
- 确保本地 Node.js 环境配置完成,版本为 v18.xx
- 修改请求的后端地址:
1 |
|
- 执行以下命令,一键启动前端项目:
1 |
|
技术选型
前端
后端
项目结构
架构设计
功能模块
用户中心 | 聊天大厅 | 博文社区 |
---|---|---|
用户可以在用户中心进行个人资料设置,包括上传头像、编辑个人简介等 | 简单清新的聊天页面,快速编辑消息,在线聊天 | 在博文社区,用户可以浏览、发布和评论博文。 |
用户还可以搜索其他用户,并添加他们为好友 | 聊天大厅是一个实时双向通信的地方,用户可以和在线好友进行即时聊天 | 用户可以写长篇博客、发表心情随笔或分享图片等。 |
在用户中心,用户可以管理自己的好友列表,查看好友的动态和在线状态 | 聊天大厅还提供在线状态显示和消息通知功能,让用户能够随时随地与好友保持联系。 | 其他用户可以对博文进行点赞和评论,从而与作者进行互动和交流。 |
用户还可以自由组队,结交志同道合的朋友。他们可以创建和加入兴趣小组,参加线上线下的活动,分享经验和爱好。 | 用户可以发送文本消息、表情、图片和语音消息,还可以进行群聊。 | 用户还可以根据标签或关键词搜索感兴趣的博文,以扩大知识和交友圈子。 |
项目收获
效果展示
MemorySearch 忆搜阁
项目概述
项目名称
MemorySearch 忆搜阁
项目介绍
基于 Spirng Boot + Elastic Stack (+ Vue3)的一站式聚合搜索平台。用户可在同一页面集中搜索出不同来源、不同类型的内
容,比如专栏文章、图片、视频等、在线用户信息,提升搜索体验
已经将多个项目(如Memory 接口开放平台)的数据接入该搜索平台,极大提升开发效率、降低了系统维护成本
使用场景
- 👥 企业内部多项目数据搜索:该平台能够满足企业内部多个项目的数据搜索需求,避免每个项目都单独开发搜索功能,提升开发效率并降低系统维护成本。
- 📚 多源内容聚合搜索:当需要聚合不同来源、不同类型的内容时,该平台可以提供一站式的搜索页面,便于用户快速查找所需信息,提高工作效率。
- 💼 企业级搜索需求:对于有大规模搜索需求的企业,该平台提供了稳定的、高效的搜索功能,满足企业的搜索需求,并支持数据源接入和管理。
主要功能
- 💡 企业级一站式聚合搜索平台,整合了多个数据源的内容,并提供统一的搜索页面和界面。
- 🚀 提供高效的检索功能,用户可以在同一页面中搜索不同来源、不同类型的内容,提升检索效率和搜索体验。
- 🌐 基于 Vue3 前端和 Spring Boot 后端,利用 Elastic Stack 实现全栈项目,确保稳定可靠的运行。
项目启动
- 拉取代码后,应该如何运行该项目?
后端
- 配置MySQL、Redis、Elasticsearch 为本机地址:
1 |
|
1 |
|
1 |
|
- 在本地安装 Elasticsearch、Kibana、Logstash
- 在 ES 的 bin 目录下执行以下命令,启动 ES:
1 |
|
- 在 Kibana 的 bin 目录下执行以下命令,启动 Kibana:
1 |
|
- 在 Logstash 的 config 目录下新增 .conf 文件,编写配置文件,做好数据映射(以下配置信息可作为参考)
1 |
|
- 在 Logstash 的
根目录
下执行以下命令,加载配置文件并启动 Logstash:
1 |
|
前端
- 确保本地 Node.js 环境配置完成,版本为 v18.xx
- 修改请求的后端地址:
1 |
|
- 执行以下命令,一键启动前端项目:
1 |
|
技术选型
前端
后端
项目结构
架构设计
功能模块
用户中心
- 用户可以在用户中心进行个人资料设置,包括上传头像、编辑个人简介等
- 用户还可以搜索其他用户,并添加他们为好友
- 在用户中心,用户可以管理自己的好友列表,查看好友的动态和在线状态
- 用户还可以自由组队,结交志同道合的朋友。他们可以创建和加入兴趣小组,参加线上线下的活动,分享经验和爱好。
聊天大厅
- 简单清新的聊天页面
- 快速编辑消息,在线聊天
- 聊天大厅是一个实时双向通信的地方,用户可以和在线好友进行即时聊天。
- 用户可以发送文本消息、表情、图片和语音消息,还可以进行群聊。
- 聊天大厅还提供在线状态显示和消息通知功能,让用户能够随时随地与好友保持联系。
博文社区
- 在博文社区,用户可以浏览、发布和评论博文。
- 用户可以写长篇博客、发表心情随笔或分享图片等。
- 其他用户可以对博文进行点赞和评论,从而与作者进行互动和交流。
- 用户还可以根据标签或关键词搜索感兴趣的博文,以扩大知识和交友圈子。
效果展示
Memory API 接口开放平台
项目概述
项目名称
使用场景
- 📊 开放平台的接口提供:适用于需要提供 API 接口给其他开发者或应用程序使用的项目。
- 👨💻 接口管理和调试:管理员和开发者可以使用该平台进行接口管理、调试和监控。
- 💻 应用程序开发:开发者可以在代码中使用提供的 SDK 快速调用接口,加速应用程序开发。
- 💰 计费与限制管理:适用于需要对接口调用进行计费和限制的项目,提供了灵活的计费和充值系统。
主要功能
- 🚀 全栈微服务项目,提供 API 接口供开发者调用的平台,以满足各种应用程序的接口需求。
- 👮♂️ 管理员功能:接入和发布接口、统计接口调用情况,方便管理和监控接口的使用情况。
- 👥 用户功能:注册登录并开通接口调用权限、浏览接口、在线调试。使用客户端 SDK,轻松在代码中调用接口。
- 💰 计费系统:用户对每个接口的调用有限制,可以通过登录免费领取次数或充值获取次数。
- 📝 用户上传接口:用户可下载平台提供的 SDK 请求库,封装并发布自己设计的接口,供其他开发者使用。
项目启动
- 拉取代码后,应该如何运行该项目?
后端
- 配置Nacos、MySQL、Redis 为本机地址:
1 |
|
1 |
|
1 |
|
- 首先在本地启动 nacos(bin 目录下执行):
1 |
|
前端
- 确保本地 Node.js 环境配置完成,版本为 v18.xx
- 修改请求的后端地址:
1 |
|
- 执行以下命令,一键启动前端项目:
1 |
|
技术选型
后端
- Java Spring Boot 框架
- MySQL 数据库
- Mybatis-Plus 及 MyBatis X 自动生成
- API 签名认证(HTTP 调用)
- Spring Boot Starter(SDK 开发)
- Dubbo 分布式(RPC、Nacos)
- Spring Cloud Gateway 微服务网关
- Swagger + Knife4j 接口文档生成
- Hutool、Apache Common Utils、Gson 等工具库
前端
- React 18
- Ant Design Pro 5.x 脚手架
- Ant Design % Procomponents 组件库
- Umi 4 前端框架
- OpenAPI 前端代码生成
项目结构
架构设计
功能模块
接口管理
用户管理
接口调用(在线调试)
效果展示
项目收获
PicMemories壁纸分享小程序
项目概述
项目名称
使用场景
- 📱 壁纸分享平台:适用于用户分享和下载壁纸的平台,让用户发现和收藏自己喜欢的壁纸作品。
- 👩💻 设计师社交:适用于设计师等专业人士展示和分享自己的壁纸作品,并与其他用户进行互动和交流。
- 🌐 壁纸应用开发:适用于需要开发壁纸相关功能的小程序或移动应用项目,提供壁纸的浏览、搜索、上传和互动等功能。
主要功能
- 🖼️ 壁纸浏览与搜索:展示热门、推荐和最新的壁纸,提供搜索入口和分类导航,让用户方便浏览和选择壁纸。
- 📋 壁纸详情页:展示壁纸的详细信息和相关操作,包括点赞、收藏和评论等,增加用户的互动和参与感。
- 👤 用户个人中心:展示用户的个人信息、上传作品和相关动态,包括收藏、点赞和关注等,提供账号设置和退出登录功能。
- 📷 壁纸上传与审核:允许用户上传自己的壁纸作品,并经过审核机制确保壁纸质量和合法性。
- 🔍 关键词搜索和推荐:提供关键词搜索功能,让用户根据关键词查找特定的壁纸。同时,基于用户喜好进行个性化的壁纸推荐。
技术选型
前端
- 微信小程序开发工具:用于创建、调试和发布微信小程序。
- HTML5、CSS3、JavaScript:主要用于构建小程序的页面结构、样式和交互效果。
- 微信小程序框架:可选择使用原生小程序框架或者类似Vue.js的框架(如MpVue或WePY)来提高开发效率。
后端
- Java语言:作为后端开发语言,具有广泛的应用性和强大的生态系统。
- Spring Boot框架:用于快速搭建后端服务,提供路由、控制器、数据持久化等功能。
- MySQL数据库:作为数据存储和管理系统,用于存储用户信息、壁纸数据等。
- Redis缓存:作为缓存数据库,用于提高数据访问的性能和响应速度。
- Mybatis:用于数据库操作和管理的ORM(对象关系映射)框架,简化了与数据库的交互。
- MybatisPlus:Mybatis的增强工具,提供更多便捷的功能,如代码生成器和数据库分页等。
其他
- Git:用于版本控制和团队协作。
- Postman:用于测试接口和调试后端服务。
- 微信公众平台接口和SDK:用于与微信小程序进行接口交互和调用。
Memory 伙伴匹配系统
项目概述
项目名称
使用场景
- 👥 学习伙伴匹配:适用于用户寻找学习伙伴、组队学习或开展项目开发等活动。
- 📱 移动端应用开发:适用于需要开发移动端 H5 网站的项目,具备用户登录和信息管理、搜索和匹配等功能。
- 👨💻 技术学习和实践:适用于希望学习项目开发、调试和优化技巧的开发,增强自主解决问题的能力。
主要功能
- 🚀 移动端 H5 网站,用于帮助用户找到学习伙伴的匹配系统。
- 👥 用户登录和个人信息管理:包括用户登录和更新个人信息等功能,方便用户管理自己的账户和个人资料。
- 🔍 按标签搜索用户:用户通过选择标签进行搜索,以寻找具有相似兴趣或需求的学习伙伴。
- 👫 建房组队功能:用户可以发起建房组队请求,邀请其他用户一起组队学习或参与项目开发等活动。
- 📋 推荐相似用户:系统根据用户兴趣和标签等信息,推荐与之相似的用户,提升匹配效果。
技术选型
前端
- Vue 3
- Vant UI 组件库
- Vite 脚手架
- Axios 请求库
后端
- Java SpringBoot 框架
- MySQL 数据库
- MyBatis-Plus
- MyBatis X 自动生成代码
- Redis 缓存(多种Java实现方式)
- Redis 分布式登录
- Redission 分布式锁
- Easy Excel 数据导入
- Spring Scheduler 定时任务
- ASwagger + Knife4j 接口文档
- Gson:JSON 序列化库
- 相似度匹配算法
Memory 用户中心系统
项目概述
项目名称
使用场景
- 👨💻 学习项目:适用于小白开发者学习和掌握通用的技术和项目开发经验。
- 📚 企业级用户管理:适用于需要构建企业级用户中心的项目,快速实现用户管理功能。
- 👩💼 业务应用开发:适用于需要基础用户管理功能的业务应用开发,可以快速搭建用户注册登录功能。
主要功能
- 🚀 企业级用户中心系统,用于实现用户注册、登录、查询等基础功能,无需关注复杂的业务流程。
- 👥 提供用户管理:包括用户注册、登录等功能,帮助开发者了解和学习通用的用户管理技术和流程。
- 🔒 实现用户鉴权:通过身份验证功能,保障用户数据的安全性和访问权限。
- 🔍 提供用户查询功能:支持用户信息的查询,方便开发者管理和了解用户的相关信息。
技术选型
前端
- HTML + CSS + JavaScript 三件套
- React 开发框架
- Ant Design Pro 项目模板
- Ant Design 端组件库
- Umi 开发框架
- Umi Request 请求库
- 正向和反向代理
后端
- Java 编程语言
- Spring + SpringMVC + SpringBoot 框架
- MyBatis + MyBatis Plus 数据访问框架
- MySQL 数据库
- jUnit 单元测试库
部署
- Linux 单机部署
- Nginx Web 服务器
- Docker 容器
- 容器托管平台
黄金矿工怀旧版
坦克大战
网络通讯平台
餐厅点餐服务
房屋出租系统
零钱通服务
职工管理系统
演讲比赛管理系统
总结
项目回顾 - 实践经验和收获总结
http://example.com/2023/04/22/项目回顾 - 实践经验和收获总结/