Files
Cloud-Conversion/docs/DIRECTORY_STRUCTURE.md
2026-06-02 16:46:19 +00:00

4.0 KiB

Estructura de Directorios

Vista general de la raiz del proyecto:

.
|-- 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.

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.

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.

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.

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:

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.

prompts/aws_match_prompts.py

references/

Material de referencia, notebooks y ejemplos historicos.

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:

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.