Saltar al contenido principal

Arquitectura de CronoSENA

CronoSENA sigue una arquitectura estructurada que facilita el mantenimiento, la escalabilidad y la comprensión global del sistema. Cada directorio cumple un rol definido dentro de la aplicación, permitiendo separar responsabilidades y garantizar un flujo de desarrollo ordenado. La siguiente sección detalla la estructura completa del proyecto, acompañada de imágenes que ilustran su organización interna.

├── src/
│ ├── app/
│ ├── bootstrap/
│ ├── config/
│ ├── database/
│ ├── lang/
│ ├── node_modules/
│ ├── public/
│ ├── resources/
│ ├── routes/
│ ├── storage/
│ ├── tests/
│ ├── vendor/
│ ├── .editorconfig
│ ├── .env
│ ├── .env.example
│ ├── .gitattributes
│ ├── .gitignore
│ ├── artisan
│ ├── composer.json
│ ├── composer.lock
│ ├── package-lock.json
│ ├── package.json
│ ├── phpunit.xml
│ ├── postcss.config.js
│ ├── README.md
│ ├── vite.config.js
├── .gitignore
├── docker-compose.dev.yml.example
├── docker-compose.prod.yml.example
├── Dockerfile
├── LICENSE
├── Microsoft.PowerShell_profile.ps1
├── package-lock.json
├── README.md

Estructura del proyecto Docusaurus

A continuación se describen las carpetas principales del proyecto y para qué sirven cada una.

📁 app/
Contiene toda la lógica del backend: modelos, controladores, policies, providers y todos los paneles, recursos y páginas creadas por Filament.

📁 bootstrap/
Inicializa el proyecto. Laravel carga su núcleo aquí y genera archivos de caché para optimización.

📁 config/
Archivos de configuración global del sistema y de Filament (paneles, plugins, autenticación, etc.).

📁 database/
Migraciones, seeders y factories. Define la estructura de la base de datos y sus datos iniciales.

📁 lang/
Traducciones del sistema y de Filament. Maneja los textos en diferentes idiomas.

📁 node_modules/
Dependencias de Node necesarias para Vite, Tailwind y el frontend en general.

📁 public/
Carpeta accesible públicamente. Incluye index.php y los assets generados del frontend.

📁 resources/
Vistas Blade, archivos de frontend, componentes, JS, CSS y personalizaciones de Filament.

📁 routes/
Rutas web, API, consola y canales. Filament también registra rutas aquí para cada panel.

📁 storage/
Logs, caché, vistas compiladas y archivos cargados por usuarios o Filament.

📁 tests/
Pruebas unitarias y funcionales del sistema.

📁 vendor/
Dependencias PHP del proyecto, incluyendo Laravel, Filament y otros paquetes instalados.

📄 .editorconfig
Reglas de formato del código para garantizar consistencia entre editores.

📄 .env
Variables sensibles y de entorno (base de datos, mail, claves, etc.).

📄 .env.example
Plantilla para generar nuevos entornos fácilmente.

📄 .gitattributes
Reglas avanzadas para Git, como normalización de archivos.

📄 .gitignore
Archivos y carpetas que deben excluirse del control de versiones.

📄 artisan
CLI de Laravel. Permite ejecutar comandos de generación, migraciones, cachés y tareas de Filament.

📄 composer.json
Lista de dependencias PHP, scripts y configuración principal del proyecto.

📄 composer.lock
Estado exacto de las dependencias instaladas.

📄 package-lock.json
Estado exacto de las dependencias Node instaladas.

📄 package.json
Dependencias de frontend, scripts y configuración de Vite.

📄 phpunit.xml
Configuración del sistema de pruebas automáticas.

📄 postcss.config.js
Configuración de PostCSS, utilizado por Tailwind.

📄 README.md
Documentación principal del proyecto.

📄 vite.config.js
Configuración de Vite para compilar el frontend, incluyendo integraciones con Filament.

📄 docker-compose.dev.yml.example
Plantilla de Docker para entorno de desarrollo.

📄 docker-compose.prod.yml.example
Plantilla de Docker para entorno de producción.

📄 Dockerfile
Definición de la imagen del proyecto para Docker.

📄 LICENSE
Licencia del proyecto.

📄 Microsoft.PowerShell_profile.ps1
Configuración personalizada de tu terminal PowerShell.

📄 package-lock.json
Archivo repetido en la raíz con el estado exacto de dependencias Node.

📄 README.md
Documentación raíz del proyecto.