# FamilyTree **Repository Path**: yunjl/FamilyTree ## Basic Information - **Project Name**: FamilyTree - **Description**: FamilyTree - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-12 - **Last Updated**: 2026-03-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 个人家族信息树项目 ## 项目概述 个人家族信息树是一个用于管理和展示家族成员关系的系统,采用前后端分离架构,前端使用单个HTML文件实现,后端使用Spring Boot,数据库使用MySQL。 ## 技术栈 - **前端**:HTML5 + CSS3 + JavaScript + Bootstrap + D3.js - **后端**:Spring Boot 3.0 + Spring MVC + MyBatis - **数据库**:MySQL 8.0 ## 项目结构 ``` family-tree/ ├── family-tree-backend/ # 后端项目 │ ├── src/ │ │ ├── main/ │ │ │ ├── java/com/familytree/ # Java源代码 │ │ │ │ ├── entity/ # 实体类 │ │ │ │ ├── mapper/ # Mapper接口 │ │ │ │ ├── service/ # 服务层 │ │ │ │ ├── controller/ # 控制器 │ │ │ │ └── FamilyTreeApplication.java # 应用主类 │ │ │ └── resources/ # 资源文件 │ │ │ ├── mapper/ # Mapper XML文件 │ │ │ ├── application.properties # 配置文件 │ │ │ └── init.sql # 数据库初始化脚本 │ │ └── test/ # 测试代码 │ └── pom.xml # Maven配置文件 ├── family-tree-frontend/ # 前端项目 │ └── index.html # 前端HTML文件 └── data/ # 数据文件 ├── 个人家族信息树.pdf # 项目需求文档 └── 执行计划.md # 执行计划 ``` ## 快速开始 ### 1. 环境准备 - JDK 17+ - Maven 3.6+ - MySQL 8.0+ ### 2. 数据库初始化 1. 启动MySQL服务 2. 执行`family-tree-backend/src/main/resources/init.sql`脚本创建数据库和表结构 ### 3. 后端服务启动 1. 进入`family-tree-backend`目录 2. 执行以下命令构建和启动服务: ```bash mvn clean package java -jar target/family-tree-backend-1.0-SNAPSHOT.jar ``` 服务将在`http://localhost:8080`上运行。 ### 4. 前端页面访问 1. 打开浏览器,访问`family-tree-frontend/index.html`文件 2. 开始使用家族信息树系统 ## 功能模块 ### 1. 家族成员管理 - 添加、编辑、删除家族成员 - 搜索和筛选家族成员 - 查看成员详细信息 ### 2. 家族关系管理 - 添加、编辑、删除家族关系 - 查看家族成员之间的关系 ### 3. 家族树展示 - 可视化展示家族树结构 - 支持树的展开/折叠 - 查看家族成员之间的关系 ### 4. 数据导入导出 - 导出数据为Excel或CSV格式 - 导入Excel或CSV格式的数据 ## API接口 ### 家族成员接口 - `GET /api/members` - 获取所有成员 - `GET /api/members/{id}` - 获取单个成员 - `POST /api/members` - 添加成员 - `PUT /api/members` - 更新成员 - `DELETE /api/members/{id}` - 删除成员 - `GET /api/members/search/{name}` - 搜索成员 ### 家族关系接口 - `GET /api/relations` - 获取所有关系 - `GET /api/relations/{id}` - 获取单个关系 - `POST /api/relations` - 添加关系 - `PUT /api/relations` - 更新关系 - `DELETE /api/relations/{id}` - 删除关系 - `GET /api/relations/member/{memberId}` - 获取成员的关系 ### 家族树接口 - `GET /api/trees` - 获取所有家族树 - `GET /api/trees/{id}` - 获取单个家族树 - `POST /api/trees` - 添加家族树 - `PUT /api/trees` - 更新家族树 - `DELETE /api/trees/{id}` - 删除家族树 ### 成员-家族树关联接口 - `GET /api/member-trees` - 获取所有关联 - `GET /api/member-trees/{id}` - 获取单个关联 - `POST /api/member-trees` - 添加关联 - `DELETE /api/member-trees/{id}` - 删除关联 - `GET /api/member-trees/tree/{treeId}` - 获取家族树的成员 - `GET /api/member-trees/member/{memberId}` - 获取成员的家族树 ## 注意事项 1. 确保MySQL服务正常运行 2. 确保数据库连接信息正确配置 3. 确保后端服务正常启动 4. 前端页面需要在浏览器中打开 ## 许可证 本项目采用MIT许可证。