Subir archivos a "docs"
This commit is contained in:
195
docs/DIRECTORY_STRUCTURE.md
Normal file
195
docs/DIRECTORY_STRUCTURE.md
Normal file
@@ -0,0 +1,195 @@
|
||||
# Estructura de Directorios
|
||||
|
||||
Vista general de la raiz del proyecto:
|
||||
|
||||
```text
|
||||
.
|
||||
|-- cloud_conversion_ui/
|
||||
|-- data/
|
||||
|-- docs/
|
||||
|-- input/
|
||||
|-- logs/
|
||||
|-- prompts/
|
||||
|-- references/
|
||||
|-- scripts/
|
||||
|-- tests/
|
||||
|-- .env.example
|
||||
|-- .gitignore
|
||||
|-- README.md
|
||||
|-- requirements.txt
|
||||
|-- send.py
|
||||
`-- server.py
|
||||
```
|
||||
|
||||
## `cloud_conversion_ui/`
|
||||
|
||||
Interfaz grafica Streamlit.
|
||||
|
||||
```text
|
||||
cloud_conversion_ui/
|
||||
|-- Home.py
|
||||
|-- components.py
|
||||
|-- models.py
|
||||
|-- theme.py
|
||||
|-- pages/
|
||||
`-- services/
|
||||
```
|
||||
|
||||
| Ruta | Uso |
|
||||
| --- | --- |
|
||||
| `Home.py` | Entrada de Streamlit. |
|
||||
| `pages/01_Inventario.py` | Carga, seleccion y archivado de inventarios. |
|
||||
| `pages/02_Catalogos.py` | Estado y actualizacion de catalogos. |
|
||||
| `pages/03_Ejecucion.py` | Ejecucion paso a paso de AWS/OCI. |
|
||||
| `pages/04_Dashboard.py` | Comparativo de costos y cobertura. |
|
||||
| `pages/05_Logs_Artefactos.py` | Lectura y descarga de artefactos. |
|
||||
| `services/pipeline_runner.py` | Adaptador que invoca scripts existentes. |
|
||||
| `services/inventory_files.py` | Gestion de archivos de inventario. |
|
||||
| `services/dashboard_data.py` | Calculos del dashboard. |
|
||||
| `services/artifacts.py` | Busqueda de artefactos recientes. |
|
||||
|
||||
## `scripts/`
|
||||
|
||||
Scripts operativos y utilidades compartidas.
|
||||
|
||||
```text
|
||||
scripts/
|
||||
|-- aws_fetch_offer.py
|
||||
|-- aws_eda.py
|
||||
|-- aws_match.py
|
||||
|-- oci_fetch_offer.py
|
||||
|-- oci_match.py
|
||||
|-- cloud-chat.py
|
||||
|-- cloud_chat_runtime.py
|
||||
|-- whatsapp_chatbot.py
|
||||
|-- whatsapp_send.py
|
||||
|-- whatsapp_logging.py
|
||||
|-- match_shared.py
|
||||
`-- cloud_conversion_logging.py
|
||||
```
|
||||
|
||||
Los scripts CLI son utiles para automatizacion, reproduccion de problemas o ejecuciones sin Streamlit.
|
||||
|
||||
## `data/`
|
||||
|
||||
Datos crudos, catalogos y resultados.
|
||||
|
||||
```text
|
||||
data/
|
||||
|-- raw/
|
||||
| |-- aws/
|
||||
| `-- oci/
|
||||
|-- catalog/
|
||||
| |-- aws/
|
||||
| `-- oci/
|
||||
|-- match/
|
||||
| |-- aws/
|
||||
| `-- oci/
|
||||
`-- eda/
|
||||
`-- aws/
|
||||
```
|
||||
|
||||
| Ruta | Uso |
|
||||
| --- | --- |
|
||||
| `data/raw/aws/index.json` | Offer AWS EC2 descargado. |
|
||||
| `data/raw/oci/products.json` | Productos OCI descargados. |
|
||||
| `data/catalog/aws/aws_ec2_catalog.csv` | Catalogo AWS plano. |
|
||||
| `data/catalog/oci/oci_price_list.csv` | Catalogo OCI plano. |
|
||||
| `data/match/aws/` | Salidas `MATCH-AWS-*.csv`. |
|
||||
| `data/match/oci/` | Salidas `MATCH-OCI-*.csv`. |
|
||||
| `data/eda/aws/` | Reportes Markdown de EDA AWS. |
|
||||
|
||||
Nota: `data/` puede ser grande. En este workspace pesa aproximadamente 8 GB.
|
||||
|
||||
## `input/`
|
||||
|
||||
Inventarios de entrada.
|
||||
|
||||
```text
|
||||
input/
|
||||
|-- done/
|
||||
`-- gui_uploads/
|
||||
```
|
||||
|
||||
| Ruta | Uso |
|
||||
| --- | --- |
|
||||
| `input/` | Inventarios activos disponibles para CLI/GUI. |
|
||||
| `input/gui_uploads/` | Inventarios subidos desde Streamlit. |
|
||||
| `input/done/` | Inventarios procesados o archivados. |
|
||||
|
||||
La GUI no mueve inventarios automaticamente al ejecutar matching. El archivado manual se hace desde la pagina `Inventario`.
|
||||
|
||||
## `logs/`
|
||||
|
||||
Bitacoras diarias generadas por scripts:
|
||||
|
||||
```text
|
||||
logs/log_cloud_conversion_YYYYMMDD.txt
|
||||
```
|
||||
|
||||
`logs/` esta en `.gitignore`. Revisa contenido antes de compartir.
|
||||
|
||||
## `prompts/`
|
||||
|
||||
Prompts usados por matching AWS y mapeo de columnas.
|
||||
|
||||
```text
|
||||
prompts/aws_match_prompts.py
|
||||
```
|
||||
|
||||
## `references/`
|
||||
|
||||
Material de referencia, notebooks y ejemplos historicos.
|
||||
|
||||
```text
|
||||
references/
|
||||
|-- Pricing-oci-example.xlsx
|
||||
`-- aws-latest-json-eda-v1-1.ipynb
|
||||
```
|
||||
|
||||
## `tests/`
|
||||
|
||||
Suite de pruebas Pytest.
|
||||
|
||||
Incluye pruebas para:
|
||||
|
||||
- AWS/OCI fetch y match.
|
||||
- Cloud Chat.
|
||||
- WhatsApp.
|
||||
- Utilidades compartidas.
|
||||
- Interfaz grafica y servicios UI.
|
||||
|
||||
Comando:
|
||||
|
||||
```bash
|
||||
python -m pytest -q
|
||||
```
|
||||
|
||||
## Archivos raiz
|
||||
|
||||
| Archivo | Uso |
|
||||
| --- | --- |
|
||||
| `README.md` | Entrada principal del proyecto. |
|
||||
| `requirements.txt` | Dependencias Python. |
|
||||
| `.env.example` | Plantilla segura de variables. |
|
||||
| `.gitignore` | Exclusiones de secretos, venv, logs y caches. |
|
||||
| `server.py` | Demo legacy Flask/Twilio. |
|
||||
| `send.py` | Demo legacy de envio WhatsApp. |
|
||||
|
||||
## Que compartir
|
||||
|
||||
Compartir:
|
||||
|
||||
- Codigo fuente.
|
||||
- Documentacion.
|
||||
- `.env.example`.
|
||||
- Datos actuales, si ya fueron revisados para uso interno.
|
||||
|
||||
No compartir:
|
||||
|
||||
- `.env`.
|
||||
- `.venv/`.
|
||||
- `logs/` sin revision.
|
||||
- Caches de Python, Pytest, Ruff o sistema.
|
||||
- Inventarios con informacion sensible no autorizada.
|
||||
|
||||
Reference in New Issue
Block a user