Skip to content

Inventario de tecnologías

Objetivo

Listar las tecnologías que efectivamente usa sy-energy y para qué sirve cada una, para dimensionar cambios, onboarding y actualizaciones.

Audiencia

Desarrollo interno y DevOps.

Estado documental

  • Estado: Borrador
  • Última actualización: 2026-08-02
  • Owner: Pendiente
  • SME requerido: líder técnico / DevOps
  • Fuente resumida: archivos de dependencias, configuración de servicios y configuración de despliegue del repositorio.

Corrección respecto a la versión anterior

Una versión previa de este documento describía un stack de Vite, React, TypeScript y Supabase. Ese stack no corresponde a sy-energy. El sistema es una aplicación Laravel con MySQL y AWS. La contradicción quedó registrada en validaciones internas.

Plataforma

TecnologíaVersiónUso
PHP8.5Lenguaje del sistema.
Laravel13Framework de aplicación: rutas, ORM, colas, scheduler, consola.
MySQLBase de datos principal del participante.
MongoDBAlmacenamiento de precios y nodos del MEM.
RedisCaché, sesiones y una conexión de cola.
SQL ServerConexión configurada para integración externa.

Las versiones de motor de base de datos no se declaran en el repositorio; confirmarlas contra el servidor.

Dependencias de backend

PaquetePara qué
aws/aws-sdk-phpSQS, S3 y demás servicios de AWS.
guzzlehttp/guzzleLlamadas HTTP a servicios externos, entre ellos Factura.com.
barryvdh/laravel-dompdfGeneración de PDF de estados de cuenta y documentos.
maatwebsite/excelImportación y exportación de hojas de cálculo.
doctrine/dbalCambios de esquema en migraciones.
simplesoftwareio/simple-qrcodeCódigos QR en documentos fiscales.
laravel/tinkerConsola interactiva. Útil para diagnóstico.
deployer/deployerDespliegue a servidores.

Frontend

La interfaz es Blade renderizado en servidor, con JavaScript progresivo — no es una SPA.

TecnologíaPara qué
Laravel MixCompilación de assets.
BladePlantillas del lado del servidor.
Vue 3Componentes interactivos puntuales.
Bootstrap 4Sistema de diseño principal.
Tailwind CSSEstilos utilitarios en pantallas nuevas.
DataTablesTablas con filtros, orden y exportación.
Chart.js / vue-chartjsGráficas.
Select2, datepickers, DropzoneControles de formulario y carga de archivos.
Moment / Day.jsManejo de fechas.

Deuda técnica visible

Conviven Bootstrap 4 y Tailwind, jQuery y Vue 3, Moment y Day.js. Es consecuencia de la evolución del sistema. Al tocar una pantalla, conviene seguir el estilo de esa pantalla en lugar de introducir un tercer enfoque.

Herramientas de calidad

HerramientaPara qué
PestPruebas.
PHPStanAnálisis estático.
RectorRefactorizaciones automatizadas.
Collision / WhoopsPresentación de errores en desarrollo.

Servicios externos

ServicioUso
AWS SQSComunicación con bots y procesamiento asíncrono.
AWS S3Facturas, documentos de CENACE y archivos generados.
AWS Systems ManagerParámetros de configuración por ambiente.
Factura.comTimbrado de CFDI.
API de CENACEDescarga de Estados de Cuenta Diarios.
Portal SIM de CENACEOperación vía bots.

Infraestructura de ejecución

ComponenteRol
Servidor LinuxAloja las instancias de participante.
PHP-FPM 8.5Ejecución de la aplicación web.
SupervisorMantiene vivos los workers de cola.
CronEjecuta el scheduler de Laravel cada minuto.
DockerSolo para entorno de desarrollo local.

Supervisor y cron se administran desde server-configs.

Riesgos y gaps

  • No están confirmadas las versiones productivas de MySQL, MongoDB y Redis.
  • El sistema depende de un proveedor único de timbrado; no está documentado el plan si Factura.com no está disponible durante un cierre mensual.
  • La mezcla de librerías de frontend eleva el costo de cualquier cambio de interfaz.
  • No está documentada la política de actualización de dependencias.

Próxima revisión

Al confirmar versiones productivas con DevOps.