业务目标:统一管理志愿者注册报名、志愿活动发布、活动签到、请假、活动审核、招募单位管理,实现志愿服务线上化管理,方便志愿机构发布志愿任务,志愿者参与志愿活动,记录志愿时长,规范化志愿服务流程。
业务角色分为两类:
1. 志愿者(移动端 / 前端用户):注册账号,浏览活动、报名参加活动、签到打卡、请假、查看个人参与的活动、维护个人信息、接收系统消息。
2. 系统管理员(Web 后台):管理招募单位、发布志愿活动、审核志愿者活动、维护系统基础数据,对整个平台数据进行增删改查管理。
本项目采用 B/S 前后端分离架构,分为管理员 Web 后台与志愿者 H5 移动端两大端。后端使用 SpringBoot 框架,MySQL 作为数据库,提供统一接口服务;管理后台前端基于 Vue+Element‑UI 实现,完成单位管理、志愿者管理、活动审核等后台业务;移动端采用 H5 开发,适配手机浏览器,实现志愿者注册报名、活动查看、签到请假等功能。整体思路将业务拆分为招募单位、志愿者、志愿活动、签到请假、消息通知等模块,接口实现数据互通,完成志愿服务全流程管理。
我主要负责移动端全部功能模块与后台招募单位管理模块开发。完成移动端 9 个功能页面开发,实现注册登录、活动列表、签到管理、请假申请、个人信息维护等业务;实现后台单位列表查询、新增、编辑、删除、分页条件检索功能,完成单位开展活动业务入口,实现 4 张核心业务数据表设计,对接 12 组前后端接口,完成基础增删改查、分页过滤功能,能够正常完成单位维护、志愿者报名签到、请假提交整套业务流程。
开发过程遇到不少问题,第一是移动端与后台接口联调时,时间格式不统一,签到时间存入数据库异常,通过统一后端时间格式化注解解决;第二是后台单位列表条件查询,多条件同时筛选逻辑出错,对查询条件做非空判断,拼接动态 SQL 修复;第三是志愿者重复报名同一个活动,在业务层增加报名前置校验,拦截重复提交请求,保证业务数据正确性,最终系统各模块业务均可正常运行。