Dotfiles-Manager

Memoria de Proyecto

← AnteriorSiguiente →

8.2. Estructura del Proyecto (Estructura de Directorios)

Para mantener la separación de responsabilidades, el ecosistema se organiza de forma estrictamente modular. A continuación se detalla el árbol de directorios actual correspondiente al cliente local (Python), el cual separa de forma clara la lógica central (Core), la persistencia (Database), y las múltiples interfaces (CLI y futura UI):

dotfiles-manager/ (Cliente Python)
├── cli/
│   ├── commands.py      # Comandos de ejecución
│   ├── console.py       # Sistema de impresión con Rich
│   ├── create.py        # Creador menú parser
│   ├── customs.py       # Vista del menú personalizado
│   └── parser.py        # Parser de comandos
├── core/
│   ├── context.py       # Estado persistente de los steps
│   ├── pipelines.py     # Orquestador secuencial del motor
│   ├── reporter.py      # Despachador de salida (CLI / UI / Headless)
│   └── steps.py         # Nodos de ejecución del pipeline
├── modules/
│   ├── database/
│   │   ├── manager.py   # Getters y Setters de la base de datos
│   │   └── models.py    # Modelos de SQLAlchemy
│   └── logger.py        # Sistema de trazas y eventos
├── ui/
│   ├── forms/           # Archivos .ui de Qt Designer
│   ├── interface/       # Código Python compilado desde Qt Designer
│   ├── styles/          # Hojas de estilo QSS
│   ├── widgets/         # Widgets personalizados de Qt
│   ├── actions.py       # Acciones de consulta (hostname, distro, hashes)
│   ├── handler.py       # QObject con señales Qt (puente hilo → UI)
│   ├── main_window.py   # Ventana principal (QMainWindow)
│   └── worker.py        # Trabajador en hilo (QThread + Pipelines)
├── resources/           # Recursos estáticos (iconos, assets)
├── version.py           # Información del proyecto
├── config.py            # Configuración global del entorno
└── main.py              # Punto de entrada (Entry point) de la app

* Nota: La estructura del repositorio correspondiente al servidor backend (Java API) se definirá y documentará en iteraciones posteriores del desarrollo.