小豆苗App是一个基于Spring Boot开发的综合性幼儿照护管理平台,旨在提升幼儿园、托育机构的护理质量和管理效率。系统通过数字化手段记录幼儿的日常生活、健康状况和成长发展,为护理人员提供工作支持,为家长提供实时的幼儿状态查看。系统分为后台管理系统和面向家长的移动端应用两部分。
大模块ID | 大模块名称 | 负责人 | 模块说明 |
---|---|---|---|
M1 | 用户与系统管理模块 | 后端开发1 | 包含用户认证、授权、系统配置、安全审计等功能 |
M2 | 儿童与成长发育模块 | 后端开发2 | 包含儿童信息、成长记录、发育评估等功能 |
M3 | 日常护理记录模块 | 后端开发3 | 包含各类护理记录、异常情况、统计分析等功能 |
M4 | 家园互动模块 | 后端开发4 | 包含通知公告、即时消息、家长反馈等功能 |
M5 | 前端界面模块 | 前端开发 | 包含所有页面开发、组件设计、用户体验等功能 |
小模块ID | 小模块名称 | 开发时间 | 任务说明 |
---|---|---|---|
M1-1 | 系统基础框架 | 7月1日-7月2日 | 项目初始化、数据库配置、基础组件开发 |
M1-2 | 用户认证服务 | 7月3日-7月4日 | 用户注册、登录、权限验证功能实现 |
M1-3 | 用户信息管理 | 7月5日-7月6日 | 用户信息管理、头像上传、权限设置功能实现 |
M1-4 | 系统安全服务 | 7月7日-7月8日 | 安全审计、操作日志、数据加密功能实现 |
M1-5 | 系统配置服务 | 7月9日-7月10日 | 系统参数配置、数据导入导出功能实现 |
M1-6 | 缓存与性能优化 | 7月11日-7月12日 | Redis缓存、接口优化、查询性能提升功能实现 |
M1-7 | 系统监控与集成 | 7月13日-7月14日 | 系统监控、全局测试、文档准备功能实现 |
小模块ID | 小模块名称 | 开发时间 | 任务说明 |
---|---|---|---|
M2-1 | 儿童基本信息 | 7月1日-7月2日 | 儿童信息管理、分组管理功能实现 |
M2-2 | 家庭关系管理 | 7月3日-7月4日 | 家长绑定、监护人设置功能实现 |
M2-3 | 成长记录服务 | 7月5日-7月6日 | 身高体重记录、里程碑管理功能实现 |
M2-4 | 健康数据服务 | 7月7日-7月8日 | 健康数据记录、健康指标分析功能实现 |
M2-5 | 医疗服务集成 | 7月9日-7月10日 | 疫苗接种、过敏原管理功能实现 |
M2-6 | 成长报告生成 | 7月11日-7月12日 | 健康报告、发育评估功能实现 |
M2-7 | 健康监控优化 | 7月13日-7月14日 | 健康监控、异常预警功能实现 |
小模块ID | 小模块名称 | 开发时间 | 任务说明 |
---|---|---|---|
M3-1 | 护理记录基础框架 | 7月1日-7月2日 | 记录表设计、接口设计、服务框架搭建 |
M3-2 | 饮食睡眠记录 | 7月3日-7月4日 | 饮食记录、睡眠记录功能实现 |
M3-3 | 体温如厕记录 | 7月5日-7月6日 | 体温记录、如厕记录功能实现 |
M3-4 | 异常情况记录 | 7月7日-7月8日 | 异常记录、批量操作、统计查询功能实现 |
M3-5 | 记录统计分析 | 7月9日-7月10日 | 记录统计、记录导出、智能推荐功能实现 |
M3-6 | 记录模板与优化 | 7月11日-7月12日 | 记录模板、批量功能优化、性能提升功能实现 |
M3-7 | 记录服务集成 | 7月13日-7月14日 | 集成测试、功能完善、文档准备功能实现 |
小模块ID | 小模块名称 | 开发时间 | 任务说明 |
---|---|---|---|
M4-1 | 通知服务基础框架 | 7月1日-7月2日 | 通知表设计、消息服务架构、基础服务实现 |
M4-2 | 通知公告服务 | 7月3日-7月4日 | 通知发布、通知查询、阅读状态功能实现 |
M4-3 | 即时消息服务 | 7月5日-7月6日 | 即时消息、已读状态、消息列表功能实现 |
M4-4 | 消息推送服务 | 7月7日-7月8日 | 消息推送、已读统计、提醒设置功能实现 |
M4-5 | 实时通讯服务 | 7月9日-7月10日 | WebSocket集成、聊天功能、消息撤回功能实现 |
M4-6 | 互动反馈服务 | 7月11日-7月12日 | 家长反馈、满意度调查、评价管理功能实现 |
M4-7 | 通讯服务优化 | 7月13日-7月14日 | 消息优化、集成测试、文档准备功能实现 |
小模块ID | 小模块名称 | 开发时间 | 任务说明 |
---|---|---|---|
M5-1 | 前端基础框架 | 7月1日-7月2日 | 项目初始化、路由规划、公共组件设计 |
M5-2 | 用户认证页面 | 7月3日-7月4日 | 登录注册页面、用户信息页面、主页布局 |
M5-3 | 儿童信息页面 | 7月5日-7月6日 | 儿童信息页面、成长记录页面、表单验证 |
M5-4 | 护理记录页面 | 7月7日-7月8日 | 护理记录展示、数据可视化、文件上传 |
M5-5 | 通知消息页面 | 7月9日-7月10日 | 消息通知、实时聊天、图表展示 |
M5-6 | 系统集成测试 | 7月11日-7月12日 | 系统级UI测试、状态管理、错误监控 |
M5-7 | 界面优化与部署 | 7月13日-7月14日 | 代码打包、资源优化、环境配置 |
后端开发1:
后端开发2:
后端开发3:
后端开发4:
前端开发:
后端开发1:
后端开发2:
后端开发3:
后端开发4:
前端开发:
后端开发1:
后端开发2:
后端开发3:
后端开发4:
前端开发:
后端开发1:
后端开发2:
后端开发3:
后端开发4:
前端开发:
后端开发1:
后端开发2:
后端开发3:
后端开发4:
前端开发:
后端开发1:
后端开发2:
后端开发3:
后端开发4:
前端开发:
后端开发1:
后端开发2:
后端开发3:
后端开发4:
前端开发:
后端开发1:
后端开发2:
后端开发3:
后端开发4:
前端开发:
后端开发1:
后端开发2:
后端开发3:
后端开发4:
前端开发:
后端开发1:
后端开发2:
后端开发3:
后端开发4:
前端开发:
后端开发1:
后端开发2:
后端开发3:
后端开发4:
前端开发:
后端开发1:
后端开发2:
后端开发3:
后端开发4:
前端开发:
后端开发1:
后端开发2:
后端开发3:
后端开发4:
前端开发:
后端开发1:
后端开发2:
后端开发3:
后端开发4:
前端开发:
系统的主要数据表结构如下,这些表可以完美支撑主体功能的实现:
-- 用户表
CREATE TABLE `user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`username` varchar(50) NOT NULL COMMENT '用户名',
`password` varchar(100) NOT NULL COMMENT '密码',
`name` varchar(50) NOT NULL COMMENT '姓名',
`phone` varchar(15) NOT NULL COMMENT '手机号',
`email` varchar(50) DEFAULT NULL COMMENT '邮箱',
`avatar` varchar(255) DEFAULT NULL COMMENT '头像URL',
`gender` tinyint(1) DEFAULT NULL COMMENT '性别(0:女,1:男)',
`user_type` tinyint(1) NOT NULL COMMENT '用户类型(0:家长,1:护理人员,2:管理员)',
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态(0:禁用,1:启用)',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `idx_username` (`username`),
UNIQUE KEY `idx_phone` (`phone`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
-- 儿童表
CREATE TABLE `child` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '儿童ID',
`name` varchar(50) NOT NULL COMMENT '姓名',
`gender` tinyint(1) NOT NULL COMMENT '性别(0:女,1:男)',
`birthday` date NOT NULL COMMENT '出生日期',
`avatar` varchar(255) DEFAULT NULL COMMENT '头像URL',
`group_id` bigint(20) DEFAULT NULL COMMENT '所属班级/分组ID',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态(0:停用,1:正常)',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_group_id` (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='儿童表';
-- 家长儿童关系表
CREATE TABLE `parent_child` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '关系ID',
`parent_id` bigint(20) NOT NULL COMMENT '家长用户ID',
`child_id` bigint(20) NOT NULL COMMENT '儿童ID',
`relation` varchar(20) NOT NULL COMMENT '关系(父亲/母亲/祖父/祖母等)',
`is_primary` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否主监护人(0:否,1:是)',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
UNIQUE KEY `idx_parent_child` (`parent_id`,`child_id`),
KEY `idx_child_id` (`child_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='家长儿童关系表';
-- 班级/分组表
CREATE TABLE `child_group` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '分组ID',
`name` varchar(50) NOT NULL COMMENT '分组名称',
`description` varchar(200) DEFAULT NULL COMMENT '描述',
`age_range` varchar(50) DEFAULT NULL COMMENT '年龄范围',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班级/分组表';
-- 护理人员与班级关联表
CREATE TABLE `caregiver_group` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`caregiver_id` bigint(20) NOT NULL COMMENT '护理人员ID',
`group_id` bigint(20) NOT NULL COMMENT '班级/分组ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
UNIQUE KEY `idx_caregiver_group` (`caregiver_id`,`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='护理人员与班级关联表';
-- 饮食记录表
CREATE TABLE `food_record` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '记录ID',
`child_id` bigint(20) NOT NULL COMMENT '儿童ID',
`record_time` datetime NOT NULL COMMENT '记录时间',
`meal_type` tinyint(1) NOT NULL COMMENT '餐次(0:早餐,1:上午加餐,2:午餐,3:下午加餐,4:晚餐)',
`food_content` varchar(500) NOT NULL COMMENT '食物内容',
`amount` varchar(50) DEFAULT NULL COMMENT '食用量',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`recorder_id` bigint(20) NOT NULL COMMENT '记录人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_child_id` (`child_id`),
KEY `idx_record_time` (`record_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='饮食记录表';
-- 睡眠记录表
CREATE TABLE `sleep_record` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '记录ID',
`child_id` bigint(20) NOT NULL COMMENT '儿童ID',
`sleep_time` datetime NOT NULL COMMENT '入睡时间',
`wake_time` datetime DEFAULT NULL COMMENT '醒来时间',
`sleep_quality` tinyint(1) DEFAULT NULL COMMENT '睡眠质量(0:差,1:一般,2:良好)',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`recorder_id` bigint(20) NOT NULL COMMENT '记录人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_child_id` (`child_id`),
KEY `idx_sleep_time` (`sleep_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='睡眠记录表';
-- 体温记录表
CREATE TABLE `temperature_record` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '记录ID',
`child_id` bigint(20) NOT NULL COMMENT '儿童ID',
`record_time` datetime NOT NULL COMMENT '记录时间',
`temperature` decimal(3,1) NOT NULL COMMENT '体温值(摄氏度)',
`is_abnormal` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否异常(0:正常,1:异常)',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`recorder_id` bigint(20) NOT NULL COMMENT '记录人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_child_id` (`child_id`),
KEY `idx_record_time` (`record_time`),
KEY `idx_is_abnormal` (`is_abnormal`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='体温记录表';
-- 如厕记录表
CREATE TABLE `toilet_record` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '记录ID',
`child_id` bigint(20) NOT NULL COMMENT '儿童ID',
`record_time` datetime NOT NULL COMMENT '记录时间',
`toilet_type` tinyint(1) NOT NULL COMMENT '如厕类型(0:大便,1:小便)',
`status` varchar(50) DEFAULT NULL COMMENT '状态描述',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`recorder_id` bigint(20) NOT NULL COMMENT '记录人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_child_id` (`child_id`),
KEY `idx_record_time` (`record_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='如厕记录表';
-- 身高体重记录表
CREATE TABLE `growth_record` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '记录ID',
`child_id` bigint(20) NOT NULL COMMENT '儿童ID',
`record_time` datetime NOT NULL COMMENT '记录时间',
`height` decimal(5,2) DEFAULT NULL COMMENT '身高(cm)',
`weight` decimal(5,2) DEFAULT NULL COMMENT '体重(kg)',
`head_circumference` decimal(4,1) DEFAULT NULL COMMENT '头围(cm)',
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
`recorder_id` bigint(20) NOT NULL COMMENT '记录人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_child_id` (`child_id`),
KEY `idx_record_time` (`record_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='身高体重记录表';
-- 发育里程碑记录表
CREATE TABLE `milestone_record` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '记录ID',
`child_id` bigint(20) NOT NULL COMMENT '儿童ID',
`milestone_type` varchar(50) NOT NULL COMMENT '里程碑类型',
`milestone_name` varchar(100) NOT NULL COMMENT '里程碑名称',
`achieve_time` datetime NOT NULL COMMENT '达成时间',
`description` varchar(500) DEFAULT NULL COMMENT '描述',
`recorder_id` bigint(20) NOT NULL COMMENT '记录人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_child_id` (`child_id`),
KEY `idx_achieve_time` (`achieve_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='发育里程碑记录表';
-- 异常情况记录表
CREATE TABLE `abnormal_record` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '记录ID',
`child_id` bigint(20) NOT NULL COMMENT '儿童ID',
`record_time` datetime NOT NULL COMMENT '记录时间',
`abnormal_type` varchar(50) NOT NULL COMMENT '异常类型',
`description` varchar(500) NOT NULL COMMENT '异常描述',
`treatment` varchar(500) DEFAULT NULL COMMENT '处理方式',
`is_serious` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否严重(0:否,1:是)',
`recorder_id` bigint(20) NOT NULL COMMENT '记录人ID',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
PRIMARY KEY (`id`),
KEY `idx_child_id` (`child_id`),
KEY `idx_record_time` (`record_time`),
KEY `idx_is_serious` (`is_serious`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='异常情况记录表';
-- 通知公告表
CREATE TABLE `notice` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '通知ID',
`title` varchar(100) NOT NULL COMMENT '标题',
`content` text NOT NULL COMMENT '内容',
`notice_type` tinyint(1) NOT NULL COMMENT '通知类型(0:公告,1:班级通知)',
`group_id` bigint(20) DEFAULT NULL COMMENT '班级ID(为空表示全体通知)',
`publisher_id` bigint(20) NOT NULL COMMENT '发布人ID',
`publish_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '发布时间',
`is_top` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否置顶(0:否,1:是)',
`status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态(0:下架,1:发布)',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_group_id` (`group_id`),
KEY `idx_publish_time` (`publish_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='通知公告表';
-- 通知阅读状态表
CREATE TABLE `notice_read` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
`notice_id` bigint(20) NOT NULL COMMENT '通知ID',
`user_id` bigint(20) NOT NULL COMMENT '用户ID',
`read_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '阅读时间',
PRIMARY KEY (`id`),
UNIQUE KEY `idx_notice_user` (`notice_id`,`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='通知阅读状态表';
-- 消息表
CREATE TABLE `message` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '消息ID',
`sender_id` bigint(20) NOT NULL COMMENT '发送者ID',
`receiver_id` bigint(20) NOT NULL COMMENT '接收者ID',
`content` varchar(1000) NOT NULL COMMENT '消息内容',
`message_type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '消息类型(0:文本,1:图片)',
`is_read` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已读(0:未读,1:已读)',
`read_time` datetime DEFAULT NULL COMMENT '阅读时间',
`send_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '发送时间',
PRIMARY KEY (`id`),
KEY `idx_sender_receiver` (`sender_id`,`receiver_id`),
KEY `idx_receiver_read` (`receiver_id`,`is_read`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='消息表';
-- 系统配置表
CREATE TABLE `system_config` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '配置ID',
`config_key` varchar(50) NOT NULL COMMENT '配置键',
`config_value` varchar(500) NOT NULL COMMENT '配置值',
`description` varchar(100) DEFAULT NULL COMMENT '描述',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `idx_config_key` (`config_key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统配置表';
-- 操作日志表
CREATE TABLE `operation_log` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '日志ID',
`user_id` bigint(20) NOT NULL COMMENT '操作人ID',
`operation` varchar(50) NOT NULL COMMENT '操作类型',
`method` varchar(100) NOT NULL COMMENT '请求方法',
`params` text DEFAULT NULL COMMENT '请求参数',
`ip` varchar(50) DEFAULT NULL COMMENT 'IP地址',
`operation_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间',
`operation_result` tinyint(1) NOT NULL COMMENT '操作结果(0:失败,1:成功)',
PRIMARY KEY (`id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_operation_time` (`operation_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='操作日志表';
本文档详细规划了小豆苗App开发任务分配方案,明确了五人团队(1名前端开发和4名后端开发)在两周内完成项目的工作分配、进度安排和优先级设置。通过合理的模块划分和任务分配,确保了项目能够在有限时间内完成核心功能的开发与上线,以支持项目展示答辩。
本计划的优势在于:
通过执行本计划,小豆苗App将在两周内完成主体功能的开发和上线,为幼儿园和托育机构提供专业的数字化管理工具。