本文档详细说明了项目的目录结构和组织方式。
AcidMap/
├── app/ # 主应用代码
├── docs/ # 项目文档
├── tests/ # 测试代码
├── scripts/ # 脚本工具
├── data/ # 数据文件
├── migrations/ # 数据库迁移
├── ssl/ # SSL证书
├── config.env # 配置文件
├── environment.yml # Conda环境配置
├── main.py # 应用入口
└── README.md # 项目说明
app/
├── api/ # API路由层
│ ├── raster.py # 栅格数据API
│ ├── vector.py # 矢量数据API
│ └── unit_grouping.py # 单元分类API
├── services/ # 业务逻辑层
│ ├── raster_service.py # 栅格数据服务
│ ├── vector_service.py # 矢量数据服务
│ └── unit_grouping_service.py # 单元分类服务
├── models/ # 数据模型
│ └── orm_models.py # ORM模型定义
├── utils/ # 工具函数
├── config/ # 配置管理
├── static/ # 静态文件
├── scripts/ # 应用内脚本
├── logs/ # 日志文件
├── database.py # 数据库连接
├── main.py # FastAPI主应用
└── __init__.py
docs/
├── features/ # 功能文档
│ ├── unit-grouping/ # 单元分类功能
│ │ └── README.md # 详细说明文档
│ ├── raster-processing/ # 栅格处理功能 (待添加)
│ └── vector-processing/ # 矢量处理功能 (待添加)
├── api/ # API文档 (待添加)
├── deployment/ # 部署文档 (待添加)
└── PROJECT_STRUCTURE.md # 本文档
tests/
├── unit/ # 单元测试
├── integration/ # 集成测试
│ ├── test_unit_grouping.py # 单元分类集成测试
│ └── test_cd_integration.py # 镉预测集成测试
└── fixtures/ # 测试数据
scripts/
├── demos/ # 演示脚本
│ └── unit_grouping_demo.py # 单元分类演示
├── import_farmland_data.py # 农田数据导入
├── db_health_check.py # 数据库健康检查
└── import_counties.py # 县区数据导入
当添加新功能时,请按照以下结构组织文件:
app/api/your_feature.py
app/services/your_feature_service.py
docs/features/your-feature/
├── README.md # 功能说明
├── api-reference.md # API参考 (可选)
└── examples.md # 使用示例 (可选)
tests/integration/test_your_feature.py
scripts/demos/your_feature_demo.py
README.md
中添加功能描述README.md
中添加API接口说明{feature}.py
{feature}_service.py
test_{feature}.py
{feature}_demo.py
{feature-name}/
docs/features/{feature-name}/
README.md
{purpose}.md
(如 api-reference.md
)单元分类功能是按照上述结构组织的一个很好的例子:
app/api/unit_grouping.py
app/services/unit_grouping_service.py
docs/features/unit-grouping/README.md
tests/integration/test_unit_grouping.py
scripts/demos/unit_grouping_demo.py
这种组织方式确保了:
良好的项目结构能够:
请在添加新功能时严格遵循这些组织原则和命名规范。