Skip to content

Repository files navigation

吃啥好呢 (What to Eat)

吃啥好呢

🌐 在线访问:youycg.site

项目介绍功能特点技术栈项目截图安装和使用项目结构贡献指南许可证

项目介绍

"吃啥好呢"是一个基于Vue.js和Express.js的美食推荐网站,旨在帮助用户解决"今天吃什么"的日常难题。通过个性化推荐算法,用户可以根据自己的饮食偏好、口味喜好、烹饪难度和时间限制,获取最适合的食谱推荐。

除了食谱推荐功能外,平台还提供了社区互动功能,用户可以分享自己的烹饪经验、食谱创作和美食心得,形成一个充满活力的美食社区。

功能特点

用户功能

  • 个性化美食推荐:根据用户设置的饮食偏好、口味偏好、烹饪难度和时间限制推荐食谱
  • 用户账户管理:注册、登录、密码重置、个人资料管理
  • 个人中心:查看和管理收藏的食谱和帖子
  • 食谱搜索与筛选:多条件组合搜索和筛选食谱
  • 食谱评分与收藏:对食谱进行评分、评论和收藏
  • 深色模式支持:支持浅色/深色主题切换

社区功能

  • 社区互动:浏览、发布、编辑和删除帖子
  • 多媒体支持:支持图片和视频上传
  • 评论系统:对帖子进行评论和回复
  • 点赞与收藏:对帖子进行点赞和收藏

管理功能

  • 用户管理:查看、编辑和管理用户账户
  • 内容管理:管理食谱、帖子和评论
  • 数据统计:用户活跃度和内容数据统计
  • 系统设置:网站基本设置和功能配置

技术栈

前端

  • 框架:Vue.js 3
  • 路由:Vue Router 4
  • 状态管理:Pinia
  • UI组件库:Element Plus
  • HTTP客户端:Axios
  • 样式:SCSS
  • 视频播放:Video.js

后端

  • 框架:Express.js
  • 数据库:MongoDB Atlas (云数据库)
  • ODM:Mongoose
  • 身份验证:JWT (JSON Web Token)
  • 密码加密:Bcrypt
  • 文件上传:Multer
  • 数据验证:Express Validator

项目截图

首页 食谱详情

社区 管理后台

安装和使用

前提条件

  • Node.js (v14+)
  • npm (v6+)
  • MongoDB Atlas账号或本地MongoDB实例

安装步骤

  1. 克隆仓库
git clone https://github.com/yourusername/eat-project.git
cd eat-project
  1. 安装后端依赖
cd eat-backend
npm install
  1. 配置后端环境变量

    • 复制.env.example文件为.env
    • 编辑.env文件,填入MongoDB连接字符串和JWT密钥
  2. 初始化数据库

npm run seed
  1. 启动后端服务
npm run dev
  1. 安装前端依赖
cd ../eat-frontend
npm install
  1. 配置前端环境变量

    • 复制.env.example文件为.env
    • 编辑.env文件,设置API地址
  2. 启动前端开发服务器

npm run serve
  1. 在浏览器中访问
http://localhost:8080

生产环境部署

  1. 构建前端
cd eat-frontend
npm run build
  1. 配置后端为生产环境

    • .env文件中设置NODE_ENV=production
  2. 启动后端服务

cd ../eat-backend
npm start

项目结构

eat-project/
├── eat-frontend/          # Vue.js前端项目
│   ├── public/            # 静态资源
│   ├── src/               # 源代码
│   │   ├── assets/        # 资源文件
│   │   ├── components/    # 组件
│   │   ├── router/        # 路由配置
│   │   ├── stores/        # Pinia状态管理
│   │   ├── styles/        # 全局样式
│   │   ├── utils/         # 工具函数
│   │   ├── views/         # 页面组件
│   │   ├── App.vue        # 根组件
│   │   └── main.js        # 入口文件
│   ├── .env.example       # 环境变量示例
│   └── package.json       # 依赖配置
│
├── eat-backend/           # Express.js后端项目
│   ├── config/            # 配置文件
│   ├── controllers/       # 控制器
│   ├── middleware/        # 中间件
│   ├── models/            # 数据模型
│   ├── routes/            # 路由
│   ├── seeds/             # 数据种子
│   ├── uploads/           # 上传文件存储
│   ├── utils/             # 工具函数
│   ├── .env.example       # 环境变量示例
│   ├── app.js             # 应用配置
│   ├── index.js           # 入口文件
│   └── package.json       # 依赖配置
│
├── screenshots/           # 项目截图
├── .gitignore             # Git忽略文件
├── LICENSE                # 许可证文件
├── README.md              # 项目说明
├── CONTRIBUTING.md        # 贡献指南
└── CODE_OF_CONDUCT.md     # 行为准则

贡献指南

我们欢迎所有形式的贡献,无论是新功能、bug修复还是文档改进。请查看贡献指南了解更多信息。

许可证

本项目采用MIT许可证。详情请参阅LICENSE文件。

About

吃啥好呢 - 美食推荐网站 (Vue.js + Express.js)

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages