AA México
Plataforma Nacional de Gestión de Grupos y Oficinas
Sistema a nivel nacional para Alcohólicos Anónimos (AA) México, diseñado para la administración integral de todos los grupos de ayuda, oficinas, distritos y estados en el país. Utiliza Arquitectura Hexagonal en el backend para manejar la compleja estructura organizativa y SPAs en React para interfaces fluidas.
Tecnologías clave
- Laravel 9
- React 18
- Hexagonal Architecture
- Domain-Driven Design
- Tailwind CSS
- Vite
- Redux Toolkit
Ingeniería & Diseño
Arquitectura del Sistema
Backend estructurado con Arquitectura Hexagonal (Domain-Driven Design) en Laravel, y un frontend dividido en aplicaciones React independientes para el portal público y el panel administrativo.
┌─ FRONTEND (React 18 + Vite + Tailwind CSS) ────────────────────────────┐
│ - App Web: Buscador de grupos, directorios y portal público │
│ - App Admin: Gestión jerárquica con Redux Toolkit y React Router │
└───────────────────────────────────┬────────────────────────────────────┘
│ API REST / JSON
▼
┌─ BACKEND (Laravel 9 - Arquitectura Hexagonal) ─────────────────────────┐
│ src/ │
│ ├── AAMexico/ (Módulos: Grupos, Estado, Oficinas, Distritos) │
│ │ ├── Contract/ (Interfaces y puertos) │
│ │ ├── Controller/ (Adaptadores de entrada HTTP) │
│ │ ├── Models/ (Entidades de dominio) │
│ │ ├── Persistence/ (Repositorios y adaptadores de salida) │
│ │ └── UserCase/ (Casos de uso e interactors) │
│ └── Shared/ (Infraestructura compartida y Base) │
└───────────────────────────────────┬────────────────────────────────────┘
│ Eloquent ORM
▼
┌─ BASE DE DATOS ────────────────────────────────────────────────────────┐
│ - MySQL / PostgreSQL con estructura relacional geográfica │
└────────────────────────────────────────────────────────────────────────┘
Puntos clave de la arquitectura
- Arquitectura Hexagonal (Clean Architecture): Separación estricta de las reglas de negocio de la infraestructura organizativa.
- Módulos de Dominio Jerárquicos: Aislamiento total de los dominios (Estado, Distrito, Oficina, Grupo) en la capa de negocio.
- Frontend Desacoplado: Micro-SPAs en React orquestadas por Vite.
- Manejo de Estado Centralizado: Uso de Redux Toolkit para gestionar el árbol de datos geográficos y organizativos en el panel admin.
Ecosistema
Stack Tecnológico Detallado
Laravel 9 + PHP
Orquestación, seguridad e inyección de dependencias con separación de capas.
Hexagonal Architecture
Mantenibilidad extrema en la lógica de negocio jerárquica (DDD).
React 18 + React Router
Interfaces reactivas para la búsqueda y gestión de grupos.
Tailwind CSS + Headless UI
Diseño limpio y responsivo para el directorio nacional.
Redux Toolkit
Flujo predecible de datos para la compleja jerarquía de distritos y grupos.
Capacidades
Características Principales
Buscador nacional y geolocalizado de grupos de ayuda y oficinas de AA.
Panel de administración complejo para la gestión jerárquica: Estados > Distritos > Oficinas > Grupos.
Control de acceso y roles para administradores a distintos niveles geográficos.
Manejo avanzado de estado global en frontend para la carga dinámica de zonas y grupos.
Decisiones de Ingeniería
¿Cómo se creó este proyecto?
El principal reto fue modelar la jerarquía organizativa real de AA (Estados, Distritos, Oficinas y Grupos) en una estructura de base de datos eficiente y rápida de consultar.
La Arquitectura Hexagonal demostró ser invaluable para escalar y mantener el código ordenado a medida que las reglas de negocio para la creación y gestión de grupos se volvían más estrictas.
¿Quieres revisar el código fuente completo?
El repositorio público contiene el historial de commits, pruebas e instrucciones de ejecución.