基于FastAPI+Vue3+MySQL+Python的美食探店平台(FastAPI版)
项目简介:包括菜谱发布、分类浏览、美食收藏、评论互动、AI美食专家、达人主页、系统公告和后台数据看板等等,适合学习完整前后端业务闭环。
资料包含
项目详情
项目技术栈
前后端分离
后端:FastAPI + Tortoise-ORM + aiomysql + WebSocket
前端:Vue3 + Element-Plus + Vue-Router + Axios + ECharts + markdown-it
数据库: MySQL
版本要求:
Pycharm2024.1+,Python3.12,MySQL 5.7或者8,node.js版本18以上,navicat建议不低于16
项目功能描述
功能概述
管理员
登录、个人中心、修改密码
- 系统首页:统计菜谱笔记数量、评论数量、探店数量、探店预约数量、统计近一周每日菜谱笔记发布数量折线图、统计不同菜谱分类菜谱分类数量饼状图,其中折线图的日期以当天为基准往前推七天动态生成
- 信息管理
菜谱分类信息:管理所有菜谱分类信息,有增删改查功能
菜谱笔记:管理所有菜谱信息,有查询和删除功能,可以预览菜谱的完整内容(含食材清单和制作步骤),用户上传菜谱后必须由管理员审核通过后才能被其他用户看到,如果审核拒绝必须填写拒绝理由
评论信息:管理所有评论信息,有查询和删除功能
探店信息:管理所有用户发布的探店信息,有查询和删除功能,探店信息同样需要管理员审核通过后才会在前台展示,审核拒绝需要填写拒绝理由
探店预约信息:管理所有探店预约信息,有查询和删除功能,管理员只做查看和维护,预约的同意与拒绝由被预约的探店达人自己处理
轮播图信息:管理所有轮播图信息,有增删改查功能,轮播图需要关联审核通过的菜谱笔记信息信息
公告信息:管理所有公告信息,有增删改查功能
- 用户管理:
管理员信息:管理所有管理员信息,有增删改查功能
用户信息:管理所有用户信息,有增删改查功能,管理员可以把用户设置成为探店达人,也可以取消用户的探店达人资格
用户
登录、注册、个人中心、修改密码
首页:浏览轮播图、热门菜谱笔记,热门探店、最新公告
菜谱笔记:浏览所有菜谱信息,可以根据菜谱分类和菜谱名称进行查询,点击可以进入菜谱详情页面,进入详情页会自动累加该菜谱的浏览量,在菜谱详情页面可以进行收藏和点赞操作,也可以发布评论和回复其他用户评论,也需要展示对应作者信息(作者头像、作者名称、作者简介、点击头像可以进入作者的个人主页页面,展示当前登录用户审核通过的菜谱笔记和探店信息)
探店信息:浏览所有用户发布的探店信息,可以点击弹出弹窗显示探店信息的详情
探店达人:浏览所有探店达人信息,只有被管理员设置为探店达人的用户才会进入榜单,根据对应探店达人发布的审核通过的探店信息的浏览量计算热度,然后根据热度进行排名(热度=浏览数量*2),点击可以预约达人进行探店,需要填写店铺名称、店铺介绍、店铺地址、联系电话、备注等信息,提交探店预约后对应的达人会继续审核,也可以点击私聊直接和该达人发起一对一聊天
AI美食专家:接入大模型的美食问答助手,可以咨询菜谱做法、食材挑选、火候调味、探店选店等问题,回答采用流式输出,AI一边生成一边逐字显示,支持多轮对话,AI能结合上下文理解追问
聊天:用户间的一对一聊天
系统公告:浏览所有系统公告
我的菜谱:管理当前登录用户的菜谱信息,有增删改查功能,用户修改菜谱信息后需要管理员重新审核
我的收藏:浏览当前登录用户收藏的菜谱笔记,也可以通过点击取消收藏按钮进行取消收藏操作
我的评论:管理当前登录用户的评论信息,可以删除评论
我的探店:管理当前登录用户发布的探店信息,有增删改查功能,用户修改探店信息后需要管理员重新审核
探店预约:查看当前登录用户发起的和接收到的探店预约,可以通过选择我发起的和我接收的进行切换显示不同的探店预约信息,在我接收的预约中,作为被预约的探店达人可以对待审核的预约进行同意或拒绝操作,拒绝时需要填写拒绝理由
创新点
- AI美食专家:接入大模型,采用 SSE 流式输出,AI边生成边逐字返回,并支持多轮上下文对话
- WebSocket 一对一实时聊天:消息落库配合 WebSocket 广播,双方页面无需刷新即时更新,并带未读消息红点提醒
- Echarts 数据统计:后端聚合统计数据,前端渲染折线图与饼状图,折线图日期以当天为基准动态生成
- 楼中楼评论:通过父级ID与根节点ID实现无限层级的盖楼式评论,删除评论时递归清理其下所有子孙评论
- 菜谱主从表结构:菜谱为主表,食材与制作步骤各为一张从表,通过外键关联,发布与编辑在同一事务中完成,保证数据一致性
- 探店预约双主体审核:同一条预约记录对发起人和被预约达人呈现两种视角,审核权归属被预约的达人
关键页面截图












🔥 限时优惠,已省 ¥200
不知道怎么学?点我
✓ 购买前请阅读须知