Sistema de gestión de recursos hídricos que permite monitorear y controlar el suministro de agua desde diferentes fuentes.
Demo:
Screen.Recording.2025-03-22.at.02.24.29.mov
-
Gestión de Fuentes de Agua
- Soporte para múltiples tipos de fuentes (ríos y pozos)
- Monitoreo en tiempo real de niveles de agua
- Control de calidad del agua
- Capacidad de agregar, actualizar y eliminar fuentes
-
Sistema de Monitoreo
- Monitoreo continuo de niveles de agua
- Alertas automáticas para niveles críticos
- Seguimiento de calidad del agua
- Notificaciones en tiempo real
-
Distribución de Agua
- Múltiples estrategias de distribución:
- Distribución Equitativa
- Distribución por Prioridad
- Distribución Justa
- Cálculo automático de disponibilidad
- Gestión de asignaciones
- Múltiples estrategias de distribución:
-
Generación de Reportes
- Reportes históricos detallados
- Exportación a Excel
- Información en tiempo real
- Estadísticas de uso
-
Interfaz de Usuario
- Interfaz gráfica intuitiva
- Visualización en tiempo real
- Panel de alertas
- Gestión de fuentes de agua
- Generación y exportación de reportes
- Java 17 o superior
- Maven 3.6 o superior
- Dependencias:
- Apache POI (para exportación a Excel)
- Lombok (para reducción de código boilerplate)
- Clonar el repositorio:
git clone https://github.com/contracamilo/aqua-java.git
cd aqua- Compilar el proyecto:
mvn clean install- Ejecutar la aplicación:
mvn exec:java -Dexec.mainClass="com.aqua.Main"- Al ejecutar la aplicación, se abrirá la interfaz gráfica principal
- El sistema se iniciará automáticamente y comenzará a monitorear las fuentes de agua
- Se cargarán datos de ejemplo (ríos y pozos) para demostración
-
Agregar Nueva Fuente
- Haga clic en el botón "Agregar Fuente"
- Complete el formulario con:
- ID: Número único
- Tipo: Seleccione RIVER o WELL
- Capacidad: Volumen en metros cúbicos
- Ubicación: Descripción del lugar
- Calidad: Estado del agua (GOOD, FAIR, POOR)
- Haga clic en "Guardar"
-
Actualizar Fuente
- Seleccione la fuente en la lista
- Haga clic en "Editar"
- Modifique los campos necesarios
- Haga clic en "Guardar"
-
Eliminar Fuente
- Seleccione la fuente en la lista
- Haga clic en "Eliminar"
- Confirme la eliminación
- Los niveles de agua se muestran en tiempo real en la interfaz
- Las alertas aparecerán automáticamente en el panel de alertas
- Los niveles críticos se mostrarán en rojo
- Tipos de alertas:
- Nivel de agua bajo
- Calidad deteriorada
- Capacidad crítica
-
Generar Reporte
- Haga clic en "Generar Reporte"
- El reporte se mostrará en la interfaz
- Incluye:
- Estado actual de las fuentes
- Historial de distribuciones
- Estadísticas de uso
-
Exportar a Excel
- Haga clic en "Exportar a Excel"
- Seleccione la ubicación para guardar
- El archivo incluirá:
- Datos de todas las fuentes
- Historial de alertas
- Estadísticas de distribución
src/
├── main/
│ ├── java/
│ │ └── com/
│ │ └── aqua/
│ │ ├── Main.java
│ │ ├── alert/
│ │ ├── config/
│ │ ├── distribution/
│ │ ├── domain/
│ │ ├── monitoring/
│ │ ├── observer/
│ │ ├── report/
│ │ ├── repository/
│ │ ├── system/
│ │ └── ui/
│ └── resources/
└── test/
└── java/
└── com/
└── aqua/
- Observer: Para notificación de cambios en niveles de agua y alertas
- Strategy: Para diferentes estrategias de distribución de agua
- MVC: Para la separación de la interfaz de usuario, lógica de negocio y datos
- Repository: Para el acceso y gestión de datos de fuentes de agua
- Agregar nuevas fuentes (ríos y pozos)
- Actualizar información de fuentes existentes
- Eliminar fuentes
- Monitorear niveles y calidad
- Alertas por nivel crítico de agua
- Alertas por calidad deteriorada
- Alertas por capacidad crítica
- Historial de alertas
- Distribución equitativa entre destinatarios
- Distribución basada en prioridades
- Distribución justa considerando necesidades
- Cálculo de disponibilidad
- Generación de reportes históricos
- Exportación a Excel
- Información detallada de fuentes
- Estadísticas de uso
- Fork el proyecto
- Crear una rama para tu feature
- Commit tus cambios
- Push a la rama
- Abrir un Pull Request
Este proyecto está licenciado bajo la Licencia MIT - ver el archivo LICENSE para más detalles.
Link del Proyecto: aqua-java