面试鸭开源项目完整安装与使用指南
面试鸭是一款由程序员鱼皮开发的面试刷题网站,采用React + Node.js全栈技术构建,提供全面的面试题资源和管理功能。本项目采用云开发技术,包含网站前台和管理员后台的完整前后端代码。
项目概述
面试鸭是一个专注于面试刷题的在线平台,旨在帮助求职者高效刷题、把握高频考点,同时为面试官提供快速选题和一键组卷功能。项目采用现代化的技术栈,具有良好的可扩展性和维护性。
技术架构
前端技术栈
- 开发框架:React、Umi
- 脚手架:Ant Design Pro
- 组件库:Ant Design、Ant Design Components
- 语法扩展:TypeScript、Less
- 打包工具:Webpack
- 代码规范:ESLint、StyleLint、Prettier
后端技术栈
- 主语言:JavaScript(Node.js / 腾讯云云开发)
- 开发框架:Express(Express Session)
- 数据库:MongoDB
- 中间件:Redis、Elasticsearch
- 对象存储:腾讯云云存储 / 腾讯云 COS
部署方案
- web服务:Nginx
- Docker容器、微信云托管
- CDN加速
项目结构
mianshiya/
├── cloudfunctions/ # 云函数后端代码
├── config/ # 应用配置文件
├── docker/ # Docker相关配置
├── public/ # 静态资源文件
├── server/ # Node.js后端服务代码
├── src/ # React前端应用源代码
├── package.json # 项目依赖配置
├── Dockerfile # Docker构建文件
├── README.md # 项目说明文档
└── tsconfig.json # TypeScript配置
环境准备
系统要求
- Node.js >= 14.0.0
- npm 或 yarn 包管理器
- MongoDB 数据库
- Redis 缓存服务
- Elasticsearch 搜索服务(可选)
克隆项目
git clone https://gitcode.com/gh_mirrors/mi/mianshiya
cd mianshiya
前端部署
安装依赖
yarn install
启动开发服务器
yarn start
开发服务器将在 http://localhost:8000 启动
构建生产版本
yarn build
构建完成后会在 dist 目录生成静态文件
后端部署
Node.js 后端部署
进入 server 目录:
cd server
yarn install
配置数据库连接,修改 config 目录下的配置文件,将 MongoDB 和 Redis 地址换成自己的配置。
启动开发环境:
npm run start:dev
启动生产环境:
npm run start
云函数后端部署
安装云开发 CLI 工具:
npm i -g @cloudbase/cli
部署示例函数:
tcb fn deploy esService --dir cloudfunctions/common/esService --force
tcb fn deploy login --dir cloudfunctions/login --force
数据库配置
项目使用 MongoDB 作为主数据库,需要配置以下集合:
- 用户信息集合
- 题目集合
- 试卷集合
- 评论集合
- 消息集合
同时需要配置 Redis 用于缓存和会话管理,Elasticsearch 用于搜索功能。
功能特性
核心功能
- 题目管理:多维度筛选、排序、推荐题目
- 试卷生成:一键组卷、下载试卷功能
- 用户系统:积分体系、收藏夹、个人主页
- 搜索功能:基于 Elasticsearch 的全文搜索
- 消息系统:站内消息通知
特色功能
- 题目遇见次数统计
- 共同编辑解析
- 热门搜索和历史记录
- 用户积分排行榜
- 多端适配响应式设计
配置文件说明
环境配置
项目使用环境变量进行配置,主要配置项包括:
- 数据库连接字符串
- Redis 连接配置
- Elasticsearch 配置
- 云存储配置
- 邮件服务配置
应用配置
config 目录包含应用级别的配置:
- 路由配置:routes.ts
- 代理配置:proxy.ts
- 默认设置:defaultSettings.ts
开发指南
代码规范
项目使用 ESLint、StyleLint 和 Prettier 进行代码规范检查,开发前请确保配置好相关的编辑器插件。
提交规范
遵循 Conventional Commits 规范,使用以下前缀:
- feat: 新功能
- fix: 修复bug
- docs: 文档更新
- style: 代码格式调整
- refactor: 代码重构
常见问题
依赖安装失败
确保使用 Node.js 14+ 版本,并尝试清除缓存后重新安装:
yarn cache clean
yarn install
数据库连接失败
检查 MongoDB 和 Redis 服务是否正常运行,配置文件中连接字符串是否正确。
云函数部署失败
确保已正确安装云开发 CLI 并登录腾讯云账号。
贡献指南
欢迎为项目贡献代码,可以通过以下方式参与:
- 提交 Issue 报告 bug 或提出新功能建议
- 提交 Pull Request 修复问题或实现新功能
- 完善项目文档
- 分享使用经验和建议
许可证
项目采用 MIT 许可证,详情请查看 LICENSE 文件。
通过本指南,您应该能够成功搭建并运行面试鸭项目。如果在部署过程中遇到问题,可以参考项目文档或提交 Issue 寻求帮助。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考




