以土豆之名,行学习之实

family_tree目录结构


family_tree目录结构:

family_tree/                    # 项目根目录
├── app/                        # 主应用包
│   ├── __init__.py             # 应用包初始化文件
│   ├── models/                 # 数据模型层
│   │   ├── __init__.py         # 模型包初始化,导出所有模型
│   │   ├── base.py             # 基础模型类,数据库连接配置
│   │   ├── person.py           # 人员数据模型
│   │   └── relationship.py     # 关系数据模型
│   ├── services/               # 业务逻辑层
│   │   ├── __init__.py         # 服务包初始化
│   │   ├── database.py         # 数据库连接和会话管理
│   │   ├── person_service.py   # 人员相关业务逻辑
│   │   └── relationship_service.py  # 关系相关业务逻辑
│   ├── api/                    # API接口层(可选,用于Web服务)
│   │   ├── __init__.py         # API包初始化
│   │   ├── endpoints/          # API端点路由
│   │   │   ├── __init__.py     # 端点包初始化
│   │   │   ├── persons.py      # 人员相关API端点
│   │   │   └── relationships.py # 关系相关API端点
│   │   └── dependencies.py     # API依赖注入
│   └── core/                   # 核心配置和工具
│       ├── __init__.py         # 核心包初始化
│       └── config.py           # 应用配置文件
├── migrations/                 # 数据库迁移目录(使用Alembic)
│   ├── versions/               # 迁移版本文件存放目录
│   └── env.py                  # 迁移环境配置
├── tests/                      # 测试目录
│   ├── __init__.py             # 测试包初始化
│   ├── test_models/            # 模型测试
│   │   ├── __init__.py
│   │   ├── test_person.py      # 人员模型测试
│   │   └── test_relationship.py # 关系模型测试
│   ├── test_services/          # 服务层测试
│   │   ├── __init__.py
│   │   ├── test_person_service.py
│   │   └── test_relationship_service.py
│   └── test_api/               # API测试(如果使用Web服务)
│       ├── __init__.py
│       ├── test_persons_api.py
│       └── test_relationships_api.py
├── scripts/                    # 实用脚本目录
│   ├── init_db.py              # 数据库初始化脚本
│   └── seed_data.py            # 测试数据填充脚本
├── requirements.txt            # Python依赖包列表
├── config.py                   # 项目主配置文件
├── .env                        # 环境变量文件(不提交到版本控制)
└── main.py                     # 应用主入口文件

各目录详细说明:

📁 app/ - 主应用代码

  • models/ - 数据模型定义,对应数据库表结构

  • services/ - 业务逻辑处理,数据库操作封装

  • api/ - Web API接口(如果项目需要提供HTTP服务)

  • core/ - 核心配置和通用工具

📁 migrations/ - 数据库迁移

  • 使用Alembic管理数据库版本变更

  • 每次数据库结构修改都应生成迁移脚本

📁 tests/ - 测试代码

  • 按照功能模块组织测试用例

  • 保持与主代码相同的目录结构

📁 scripts/ - 实用脚本

  • 数据库初始化、数据填充等运维脚本

📄 根目录文件

  • requirements.txt - 项目依赖包清单

  • config.py - 应用配置(数据库连接等)

  • .env - 敏感信息配置(数据库密码等)

  • main.py - 程序启动入口