修改简介

master
mayongjian 12 months ago
parent 2b58dadfc7
commit e148a4fc5d

@ -1,178 +1,271 @@
<p align="center"> <p align="center">
<img alt="logo" src="https://image.mayongjian.cn/2024/07/03/1de3ee08e0a34ab6bf9a163d380fb596.png" style="width: 100px"> <img alt="logo" src="https://image.mayongjian.cn/2024/07/03/1de3ee08e0a34ab6bf9a163d380fb596.png" width="100"/>
</p> </p>
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">HongShu</h1> <h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">HongShu</h1>
<h4 align="center">基于SpringBoot+Vue前后端分离的仿小红书项目</h4>
<p align="center"> <p align="center">
<a href="https://gitee.com/Maverick_Ma/hongshu/stargazers"> <b>基于 SpringBoot + Vue 前后端分离的仿小红书项目</b>
<img src="https://gitee.com/Maverick_Ma/hongshu/badge/star.svg?theme=dark"></a> </p>
<a href="https://gitee.com/Maverick_Ma/hongshu"> <p align="center">
<img src="https://img.shields.io/badge/HongShu-v1.0-brightgreen.svg"></a> <i>一款高仿小红书的全栈开源项目,支持内容发布、社交互动、即时通讯等核心功能,适合全栈学习与实战。</i>
<a href="https://gitee.com/Maverick_Ma/hongshu/blob/master/LICENSE"> </p>
<img src="https://img.shields.io/github/license/mashape/apistatus.svg"></a>
<p align="center">
<a href="https://gitee.com/Maverick_Ma/hongshu/stargazers">
<img src="https://gitee.com/Maverick_Ma/hongshu/badge/star.svg?theme=dark">
</a>
<a href="https://gitee.com/Maverick_Ma/hongshu">
<img src="https://img.shields.io/badge/HongShu-v1.0-brightgreen.svg">
</a>
<a href="https://gitee.com/Maverick_Ma/hongshu/blob/master/LICENSE">
<img src="https://img.shields.io/github/license/mashape/apistatus.svg">
</a>
</p> </p>
> 声明此项目发布于Gitee、GitCode和GitHub基于 Apache 协议,免费且作为开源学习使用,禁止转卖、谨防受骗。如需商用必须保留版权信息,请自觉遵守。确保合法合规使用,在运营过程中产生的一切任何后果自负,与作者无关。 ---
> **声明**
> 本项目基于 Mit 协议,免费开源,仅供学习交流,禁止转卖,谨防受骗。如需商用请保留版权信息,确保合法合规使用,运营风险自负,与作者无关。
> **移动端通知**
> 🎉 因移动端重构,原移动端可通过 `¥99` 付费获取
---
## 📖 目录
- [项目简介](#项目简介)
- [项目特色](#项目特色)
- [版本演进](#版本演进)
- [技术选型](#技术选型)
- [项目地址](#项目地址)
- [项目文档](#项目文档)
- [视频演示](#视频演示)
- [演示站](#演示站微服务版本-持续更新)
- [致谢](#致谢)
- [快速开始](#快速开始)
- [FAQ](#faq)
- [演示图](#演示图)
---
## 🚀 项目简介
基于 **SpringBoot + Vue3 + TypeScript** 前后端分离的**全栈仿小红书系统**
1:1 还原小红书页面及核心功能,微服务架构演进版本。
涵盖内容发布、社交互动、私信聊天、搜索发现等模块,致力于打造一个功能完善、体验流畅的社交分享平台。
### 📂 项目组成
| 模块 | 技术栈 | 地址 |
|------|--------|------|
| **[HongShu](https://gitee.com/Maverick_Ma/hongshu)** | SpringBoot | [Gitee](https://gitee.com/Maverick_Ma/hongshu) |
| **[HongShu-Web](https://gitee.com/Maverick_Ma/hongshu-web)** | Vue3 + Element Plus | [Gitee](https://gitee.com/Maverick_Ma/hongshu-web) |
| **[HongShu-Admin](https://gitee.com/Maverick_Ma/hongshu-admin)** | Vue3 + Vite | [Gitee](https://gitee.com/Maverick_Ma/hongshu-admin) |
| **[HongShu-App](https://gitee.com/Maverick_Ma/hongshu-app)** | Uniapp | [Gitee](https://gitee.com/Maverick_Ma/hongshu-app) |
---
## 🌟 项目特色
| 功能模块 | 技术实现 |
|----------------|-----------------------------|
| 智能推荐 | ElasticSearch + 协同过滤算法 |
| 即时通讯 | WebSocket + Netty |
| 多存储方案 | 七牛云/阿里云/腾讯云OSS动态切换 |
| 高并发优化 | Redis + MQ 消息队列 |
| 安全认证 | 双Token无感刷新机制 |
---
## 📅 版本演进
<details>
<summary><b>v1.0(当前开源版)</b></summary>
- ES 智能查询、笔记随机推荐
- 笔记支持图文类型
- 本地存储、七牛云存储
- 审核机制
</details>
> 🎉移动端因重构,原版本`¥99`可获取学习🎉 <details>
<summary><b>v2.0</b></summary>
## 项目简介 - 新增 uniapp 移动端
基于 SpringBoot + Vue 前后端分离的仿小红书系统1:1 还原小红书页面及功能。本项目采用当下最主流的前后端分离架构,前端使用 Vue3 + TypeScript 开发,后端采用 SpringBoot 框架。项目完整还原了小红书的核心功能,包括内容发布、社交互动、私信聊天、搜索发现等模块,致力于打造一个功能完善、体验流畅的社交分享平台。 - 笔记支持视频和 live 图类型
* [HongShu](https://gitee.com/Maverick_Ma/hongshu) 本项目为单应用版本 - 新增多种 OSS 存储方式,可动态配置
* [HongShu-Web](https://gitee.com/Maverick_Ma/hongshu-web) 用户端采用Vue3、ts、Element UI。 - 协同过滤算法推荐
* [HongShu-Admin](https://gitee.com/Maverick_Ma/hongshu-admin) 管理端采用Vue3、Vite、Element UI。
* [HongShu-App](https://gitee.com/Maverick_Ma/hongshu-app) 移动端采用uniapp。
## 项目背景 </details>
小红书作为当下最受欢迎的生活方式分享社区,拥有海量的用户群体和丰富的内容生态。本项目旨在通过技术手段还原小红书的核心功能,不仅可以学习到完整的全栈开发流程,还能深入理解大型社交平台的架构设计和业务实现。
## 项目特色 <details>
* 瀑布流展示笔记、懒加载笔记图片、视频 <summary><b>v3.0</b></summary>
* 使用 Redis 做对象缓存
* 使用 ElasticSearch 做智能查询
* 使用 WebSocket 实现即时通讯,支持私信聊天,关注、评论、点赞和收藏等功能,消息页面实时显示用户未读消息数量
* 双Token登陆机制
* 支持多种存储方式本地、Minio、七牛云、腾讯云、阿里云存储等
## 功能迭代 - 重构为 springCloud 微服务架构Nacos 配置中心
### - 1.0 版本功能 - 新后台管理页面Arco-Design
1. ES智能查询、笔记随机推荐 - 引入高德地图
2. 笔记支持图文类型 - 闲置商城购物功能
3. 本地存储、七牛云存储 - Netty 重构消息聊天
4. 审核机制 - MQ+Redis 优化点赞、收藏、浏览
### - 2.0 版本功能 </details>
1. 新增uniapp移动端
2. 笔记支持视频和live图类型
3. 新增七牛云、阿里云、腾讯云等多种OSS对象存储方式可动态配置
4. 加入协同过滤算法实现推荐功能
### - 3.0 版本功能 ---
1. 重构实现 springCloud 微服务架构版本,采用 Nacos 作为服务发现和配置中心,轻松完成项目的配置的维护
2. 引入Arco-Design字节提供的前端UI实现新的后台管理页面
3. 引入高德地图
4. 加入闲置商城购物功能
5. 使用netty重构消息聊天
6. 使用 MQ+Redis 优化点赞、收藏、浏览功能
## 说明: ## 🏗️ 技术选型
1. 后续会更新维护`单体版springBoot`、`微服务版springCloud`两个版本,演示站部署`微服务版`
2. 由于微信小程序每次发布审核过于严苛和繁琐暂时不再提供体验环境但uniapp端依然会继续兼容小程序
3. 演示站部署的是微服务版本,与开源版本功能存在一定差异,具体请参考:
- 移动端因重构,原版本`¥99`可获取学习 - SpringBoot、SpringCloud、Nacos、Redis、ElasticSearch、MySQL
- 目前,微服务版源码暂未开源,若需要可添加微信获取 👇 - 前端Vue3、TypeScript、Element UI、Vite、uniapp
- 如有`项目问题`、`项目定制`、`部署需求`也可微信联系 👇 - 消息WebSocket、Netty、MQ
- 存储本地、Minio、七牛云、腾讯云、阿里云
<img src="doc/images/wx.png" style="width: 100px; height: 100px"/> > 系统架构图、详细技术栈请见[项目文档](https://mayongjian.cn)
## 演示站(微服务版本-持续更新) ---
- 【web端】 ☞️ [点我进入](http://115.190.73.103)
- 【管理端】 ☞️ [点我进入](http://115.190.73.103/admin/)
- 【移动端】 ☞️ [点我进入](http://115.190.73.103/app/) 或 扫码体验👇:
<img src="doc/images/h5.png" style="width: 100px; height: 100px"/> ## 📦 项目地址
* 也感谢小伙伴们打赏支持用于升级服务器❤️ - Gitee: [https://gitee.com/Maverick_Ma/hongshu](https://gitee.com/Maverick_Ma/hongshu)
- Github: [https://github.com/Ma-YongJian/HongShu](https://github.com/Ma-YongJian/HongShu)
<img src="doc/images/pay.png" style="width: 200px; height: 100px"/> ---
## 技术选型 ## 📚 项目文档
* 系统架构图
- 文档及资料:[个人博客](https://mayongjian.cn)
## 项目地址 ---
目前项目托管在 Gitee 和 Github 平台上中,欢迎大家 Star 和 Fork 支持~
- Gitee地址https://gitee.com/Maverick_Ma/hongshu
- Github地址https://github.com/Ma-YongJian/HongShu
## 项目文档 ## 🎬 视频演示
* 文档及资料会暂时放到我的个人博客:☞ [点我进入](https://mayongjian.cn)
## 视频演示 - [Bilibili 演示视频](https://www.bilibili.com/video/BV1QP8dekEGq/?spm_id_from=333.999.list.card_archive.click&vd_source=ec9224821314432ac6e12dc7d500d74b)
- [点击查看](https://www.bilibili.com/video/BV1QP8dekEGq/?spm_id_from=333.999.list.card_archive.click&vd_source=ec9224821314432ac6e12dc7d500d74b)
## 致谢 ---
红薯项目参考了很多开源项目的解决方案,开源不易,感谢分享
- 感谢 [若依](https://gitee.com/y_project/RuoYi) 提供的 RuoYi 项目https://gitee.com/y_project/RuoYi ## 🌐 演示站(微服务版本-持续更新)
- 感谢 [xiaozhao](https://gitee.com/xzjsccz/xiaohongshu) 提供的前端仿小红书源码https://gitee.com/xzjsccz/xiaohongshu
- 感谢 [陌溪](https://gitee.com/moxi159753/mogu_blog_v2) 提供的 蘑菇博客 项目https://gitee.com/moxi159753/mogu_blog_v2 | 端口 | 入口 |
| :---: | :---: |
| Web端 | [点我进入](http://115.190.73.103) |
| 管理端 | [点我进入](http://115.190.73.103/admin/) |
| 移动端 | [点我进入](http://115.190.73.103/app/) <br> <img src="doc/images/h5.png" width="100"/> |
> 移动端原版本 `¥99` 可获取学习
> <br>微服务版源码暂未开源,如需可添加微信获取👇
> <img src="doc/images/wx.png" width="100"/>
---
## 💖 打赏支持
感谢小伙伴们打赏支持,用于升级服务器❤️
<img src="doc/images/pay.png" width="200"/>
---
## 🙏 致谢
- [若依 RuoYi](https://gitee.com/y_project/RuoYi)
- [蘑菇博客](https://gitee.com/moxi159753/mogu_blog_v2)
- [xiaozhao 仿小红书前端](https://gitee.com/xzjsccz/xiaohongshu)
- <img src="./doc/images/qiniu.jpg" width="80" />感谢 [七牛云](https://portal.qiniu.com/signup?utm_source=kaiyuan&utm_media=mogu) 提供的免费云存储和CDN服务 - <img src="./doc/images/qiniu.jpg" width="80" />感谢 [七牛云](https://portal.qiniu.com/signup?utm_source=kaiyuan&utm_media=mogu) 提供的免费云存储和CDN服务
- <img src="./doc/images/jetbrains.png" width="40" />感谢 [jetbrains](https://www.jetbrains.com/?from=mogu_blog_v2) 提供的开源License - <img src="./doc/images/jetbrains.png" width="40" />感谢 [jetbrains](https://www.jetbrains.com/?from=mogu_blog_v2) 提供的开源License
---
## 🛠️ 快速开始
详见[项目文档](https://mayongjian.cn),或参考各子项目 README 进行本地部署体验。
---
## ❓ FAQ
- Q: 如何本地运行?
A: 详见各子项目 README 或[项目文档](https://mayongjian.cn)。
- Q: 依赖环境有哪些?
A: JDK 8+、Node 16+、MySQL 8+、Redis 6+ 、Elasticsearch 7+等。
- Q: 数据库脚本在哪里?
A: 见后端项目 `doc/sql` 目录。
---
## 📷 演示图
### Web端
## 演示图
* web端
<table> <table>
<tr> <tr>
<td><img src="doc/images/web/web-login.png"/></td> <td><img src="doc/images/web/web-login.png" width="300"/></td>
<td><img src="doc/images/web/web-dashboard.png"/></td> <td><img src="doc/images/web/web-dashboard.png" width="300"/></td>
</tr> </tr>
<tr> <tr>
<td><img src="doc/images/web/web-search.png"/></td> <td><img src="doc/images/web/web-search.png" width="300"/></td>
<td><img src="doc/images/web/web-trends.png"/></td> <td><img src="doc/images/web/web-trends.png" width="300"/></td>
</tr> </tr>
<tr> <tr>
<td><img src="doc/images/web/web-message.png"/></td> <td><img src="doc/images/web/web-message.png" width="300"/></td>
<td><img src="doc/images/web/web-follow.png"/></td> <td><img src="doc/images/web/web-follow.png" width="300"/></td>
</tr> </tr>
<tr> <tr>
<td><img src="doc/images/web/web-publish.png"/></td> <td><img src="doc/images/web/web-publish.png" width="300"/></td>
<td><img src="doc/images/web/web-publish-map.png"/></td> <td><img src="doc/images/web/web-publish-map.png" width="300"/></td>
</tr> </tr>
<tr> <tr>
<td><img src="doc/images/web/web-publish-img.png"/></td> <td><img src="doc/images/web/web-publish-img.png" width="300"/></td>
<td><img src="doc/images/web/web-publish-video.png"/></td> <td><img src="doc/images/web/web-publish-video.png" width="300"/></td>
</tr> </tr>
<tr> <tr>
<td><img src="doc/images/web/web-main-img.png"/></td> <td><img src="doc/images/web/web-main-img.png" width="300"/></td>
<td><img src="doc/images/web/web-user.png"/></td> <td><img src="doc/images/web/web-user.png" width="300"/></td>
</tr> </tr>
</table> </table>
* 管理端: ### 管理端
<table>
<tr> <table>
<td><img src="doc/images/admin/admin-login.png"/></td> <tr>
<td><img src="doc/images/admin/admin-data.png"/></td> <td><img src="doc/images/admin/admin-login.png" width="300"/></td>
</tr> <td><img src="doc/images/admin/admin-data.png" width="300"/></td>
<tr> </tr>
<td><img src="doc/images/admin/admin-category.png"/></td> <tr>
<td><img src="doc/images/admin/admin-member.png"/></td> <td><img src="doc/images/admin/admin-category.png" width="300"/></td>
</tr> <td><img src="doc/images/admin/admin-member.png" width="300"/></td>
<tr> </tr>
<td><img src="doc/images/admin/admin-note.png"/></td> <tr>
<td><img src="doc/images/admin/admin-album.png"/></td> <td><img src="doc/images/admin/admin-note.png" width="300"/></td>
</tr> <td><img src="doc/images/admin/admin-album.png" width="300"/></td>
<tr> </tr>
<td><img src="doc/images/admin/admin-comment.png"/></td> <tr>
<td><img src="doc/images/admin/admin-log.png"/></td> <td><img src="doc/images/admin/admin-comment.png" width="300"/></td>
</tr> <td><img src="doc/images/admin/admin-log.png" width="300"/></td>
</tr>
</table> </table>
* app端 ### App端
<table>
<tr> <table>
<td><img src="doc/images/app/app-login.png"/></td> <tr>
<td><img src="doc/images/app/app-index.png"/></td> <td><img src="doc/images/app/app-login.png" width="200"/></td>
</tr> <td><img src="doc/images/app/app-index.png" width="200"/></td>
<tr> <td><img src="doc/images/app/app-trend.png" width="200"/></td>
<td><img src="doc/images/app/app-trend.png"/></td> <td><img src="doc/images/app/app-message.png" width="200"/></td>
<td><img src="doc/images/app/app-message.png"/></td> </tr>
</tr> <tr>
<tr> <td><img src="doc/images/app/app-user.png" width="200"/></td>
<td><img src="doc/images/app/app-user.png"/></td> <td><img src="doc/images/app/app-user-edit.png" width="200"/></td>
<td><img src="doc/images/app/app-user-edit.png"/></td> <td><img src="doc/images/app/app-follow.png" width="200"/></td>
</tr> <td><img src="doc/images/app/app-search.png" width="200"/></td>
<tr> </tr>
<td><img src="doc/images/app/app-follow.png"/></td> <tr>
<td><img src="doc/images/app/app-search.png"/></td> <td><img src="doc/images/app/app-main.png" width="200"/></td>
</tr> <td><img src="doc/images/app/app-push.png" width="200"/></td>
<tr> <td><img src="doc/images/app/app-comment.png" width="200"/></td>
<td><img src="doc/images/app/app-main.png"/></td> <td><img src="doc/images/app/app-like.png" width="200"/></td>
<td><img src="doc/images/app/app-push.png"/></td> </tr>
</tr>
<tr>
<td><img src="doc/images/app/app-comment.png"/></td>
<td><img src="doc/images/app/app-like.png"/></td>
</tr>
</table> </table>
---
> **欢迎 Star & Fork 支持项目!如有问题或定制需求可微信联系作者。**

Loading…
Cancel
Save