# Project Structure

## 📁 Directory Layout

```
ocdp-go/
├── backend/                    # Go 后端
│   ├── cmd/api/               # 主程序入口
│   ├── internal/
│   │   ├── handlers/          # HTTP handlers
│   │   ├── graphql/           # GraphQL schema & resolvers
│   │   ├── models/            # 数据模型
│   │   ├── storage/           # 存储层（JSON）
│   │   └── auth/              # 认证
│   └── data/                  # 数据存储（JSON文件）
│
└── frontend/                  # React 前端
    └── src/
        ├── app/               # 应用层
        │   ├── providers/     # 全局 Provider
        │   ├── routes/        # 路由配置
        │   └── constants/     # 导航配置
        │
        ├── features/          # 功能模块（按类别）
        │   ├── configuration/ # 🔧 配置类
        │   │   ├── clusters/
        │   │   └── registries/
        │   ├── monitoring/    # 📊 监控类
        │   │   └── clusters/
        │   ├── artifact/      # 📦 制品类
        │   │   ├── registries/
        │   │   └── instances/
        │   ├── auth/
        │   └── home/
        │
        ├── core/              # 核心层
        │   ├── api/           # API 调用
        │   ├── graphql/       # GraphQL 客户端
        │   ├── types/         # 类型定义
        │   └── config/        # 配置
        │
        └── shared/            # 共享层
            ├── components/    # 通用组件
            ├── hooks/         # 通用 hooks
            ├── utils/         # 工具函数
            └── services/      # 服务

```

## 🎯 Features 模块分类

### Configuration（配置类）
- `clusters/` - 配置 K8s 集群连接
- `registries/` - 配置 OCI 仓库连接

### Monitoring（监控类）
- `clusters/` - 监控集群状态

### Artifact（制品类）
- `registries/` - 浏览制品仓库内容
- `instances/` - 管理已部署的服务实例

## 🔄 API 架构

- **GraphQL** - 用于 CRUD 操作（集群、仓库、实例）
- **RESTful** - 用于代理和实时查询（OCI、K8s 状态）
- **Unified API** - 自动根据配置切换 GraphQL/RESTful

## 🚀 实例管理术语

- **Launch** - 启动/创建服务实例
- **Modify** - 修改实例配置
- **Terminate** - 终止实例运行

## 📝 说明

- 所有功能模块按**业务类别**分类（配置、监控、制品）
- Features 模块名使用**单数**形式（configuration, artifact）
- URL 路径保持 RESTful 风格（`/artifact/registries`）
