BUPT-SE, JavaEE小学期项目,基于 MERN (MongoDB, Express, React, Node.js) 技术栈开发。
- 用户注册与登录(基于JWT的认证)
- 博客发布与展示
- 评论系统
- 消息通知系统(RabbitMQ + WebSocket)
- 文件上传(Firebase)
在开始之前,请确保你的计算机上已经安装了以下工具:
- Node.js (推荐版本 v22.7.0 及以上)
- MongoDB 数据库
- RabbitMQ 消息队列
- Firebase 云存储 (可选,如果你需要使用文件上传功能)
git clone https://github.com/your-username/buptLab-TechConnect-Blog.git
cd buptLab-TechConnect-Blog
在项目根目录下运行以下命令以安装所需依赖:
npm i
cd client
npm i
在项目根目录下创建 .env
文件,并根据以下示例进行配置:
# MongoDB 配置
MONGO=mongodb://your_mongo_path
# nodemailer配置,确保163邮箱已开启SMTP服务
EMAIL_USER=user_163
EMAIL_PASS=pass_163
# JWT 配置
JWT_SECRET=your_jwt_secret
# RabbitMQ 配置
RABBITMQ_URL=amqp://localhost
在项目/client目录下创建 .env
文件,并根据以下示例进行配置:
# Firebase 配置
VITE_FIREBASE_API_KEY=your_firebase_key
请确保 MongoDB 和 RabbitMQ 服务已经安装并启动。
两个终端,在项目根目录下分别运行以下命令:
npm run start
npm run start:notification
默认情况下,后端服务将运行在 http://localhost:3000
,通知微服务在http://localhost:6666
。
在项目/client目录下运行以下命令:
npm run start
/api
│
├── controllers # 业务逻辑控制器
├── models # 数据模型 (MongoDB)
├── routes # 路由定义
├── services # 服务层(如通知服务)
├── utils # 工具函数与中间件
├── .env # 环境变量配置文件
├── index.js # 项目入口文件
├── package.json # 项目依赖及脚本
└── README.md # 项目说明文件
/client
|
├── src # 页面组件
├── ... # 懒得写了
- Express: Web 后端框架
- React: Web 前端框架
- Redux Toolkit: Web前端工具
- Mongoose: MongoDB ODM
- RabbitMQ: 消息队列
- WebSocket: 实时通信
- Firebase: 云存储服务