LK 博客
Lab Recruitment System
前后端
约 1 分钟阅读 0 赞 0 条评论 鸿蒙黑体

Lab Recruitment System

程佳豪
程佳豪 @程佳豪
累计点赞 0 登录后每个账号只能点一次
内容长度 0 正文词元数
正文
目录会跟随阅读位置移动。
阅读进度

一个面向高校实验室招新与成长管理的全栈项目,当前仓库已精简为源码、配置模板和部署脚本,不再提交 node_modules、历史打包归档和分散说明文档。

功能概览

  • 用户认证:注册、登录、邮箱验证码注册、密码找回
  • 实验室招新:实验室展示、投递、审核、录取
  • 成长中心:成长路径、练习题、能力评估
  • 笔试模块:题库、正式笔试、提交与评分
  • 实验室空间:设备管理、借用、论坛、通知、优秀毕业生
  • 管理后台:学生、管理员、实验室和投递数据管理

技术栈

  • 后端:Java 11, Spring Boot 2.7, Spring Security, MyBatis-Plus, MySQL
  • 前端:Vue 3, Vite, Element Plus, Pinia, Axios
  • 邮件:Spring Mail,支持 QQ 邮箱 SMTP 授权码

仓库结构

.
├─ src/main/java/com/lab/recruitment
│  ├─ config
│  ├─ controller
│  ├─ dto
│  ├─ entity
│  ├─ mapper
│  ├─ service
│  ├─ utils
│  └─ vo
├─ src/main/resources
│  ├─ mapper
│  ├─ sql
│  ├─ init.sql
│  └─ application.yml
├─ frontend
│  ├─ src
│  ├─ public
│  ├─ package.json
│  └─ vite.config.js
├─ deploy-tools
├─ docker
└─ scripts

本地启动

1. 环境要求

  • JDK 11+
  • Maven 3.6+
  • Node.js 18+ 与 npm
  • MySQL 8.x

2. 初始化数据库

创建数据库后导入初始化脚本:

mysql -u root -p lab_recruitment < src/main/resources/init.sql

3. 后端启动

直接运行:

mvn -DskipTests package
java -jar target/lab-recruitment-1.0.0.jar

默认端口是 8081

4. 前端启动

cd frontend
npm install
npm run dev

默认开发端口是 3000,并会把 /api 代理到 http://localhost:8081

关键配置

默认配置文件:

  • src/main/resources/application.yml
  • 根目录 application.yml 可作为外部部署模板

常用环境变量:

  • DB_URL
  • DB_USERNAME
  • DB_PASSWORD
  • JWT_SECRET
  • MAIL_USERNAME
  • MAIL_PASSWORD
  • APP_SECURITY_ALLOWED_ORIGINS_CSV
  • FILE_UPLOAD_PATH

邮箱配置

项目注册和找回密码依赖邮件服务:

MAIL_USERNAME=2371796741@qq.com
MAIL_PASSWORD=你的QQ邮箱SMTP授权码

注意:MAIL_PASSWORD 必须是 QQ 邮箱的 SMTP 授权码,不是 QQ 登录密码。

构建与发布

前端生产构建:

cd frontend
npm install
npm run build

后端生产构建:

mvn -DskipTests package

如果使用 deploy-tools,首次进入该目录时单独执行:

cd deploy-tools
npm install

当前仓库清理策略

  • 不再提交 frontend/node_modules
  • 不再提交历史 zip/tar 归档
  • 不再提交旧的前端副本 src/main/resources/front
  • 文档统一收敛为这一份 README.md

作者名片

程佳豪
程佳豪
@程佳豪

这个作者暂时还没有填写个人简介。

评论区
文章作者和管理员都可以管理这里的评论。
0 条评论
登录后即可参与评论。 去登录
还没有评论,欢迎留下第一条交流内容。