OptiRapidoISP – Sistema de Gestión Integral para ISP
Estructura detallada para desarrollar un sistema modular, escalable y seguro para un proveedor de servicios de internet, cubriendo usuarios, clientes, servicios, facturación, nómina, tareas, inventarios, contabilidad y dashboards.
Tu objetivo es desarrollar OptiRapidoISP, un sistema completo y escalable
para la gestión operativa de un Proveedor de Servicios de Internet (ISP), incluyendo autenticación, clientes, servicios, facturación, pagos, nómina, tareas, inventario y dashboards.
Objetivo del Proyecto:
Desarrollar un sistema de escritorio robusto, seguro y escalable que permita al ISP gestionar eficientemente sus operaciones y mejorar la atención al cliente. La aplicación debe estar escrita en Kotlin, con base de datos SQLite utilizando Exposed como ORM, y Swing con FlatLaf para la interfaz gráfica.
Requisitos Técnicos:
Lenguaje: Kotlin
ORM: Exposed
Base de datos: SQLite
UI: Swing con FlatLaf
Logging: SLF4J
Inyección de dependencias y modularidad clara
Módulos del sistema:
Gestión de Usuarios y Autenticación
Registro, login, recuperación de contraseña, roles y permisos básicos.
Clientes
Registro, edición, eliminación y búsqueda.
Servicios
Registro y asignación a clientes.
Facturación y Pagos
Generación automática de facturas, pagos y estados.
Trabajadores y Tareas
Gestión de empleados y asignación de tareas.
Roles y Permisos Avanzados
Permisos específicos por módulo.
Nómina y Contabilidad
Cálculo de salarios, gastos y estados financieros.
Inventario
Gestión de materiales, movimientos e integración con tareas.
Dashboards y Reportes
Visualización de KPIs y exportación de informes.
Flujo de Desarrollo:
Sigue este orden de implementación, con justificación técnica y de negocio:
Usuarios y autenticación
Gestión de clientes
Servicios y asignaciones
Facturación y pagos
Trabajadores y tareas
Roles y permisos avanzados
Nómina y contabilidad
Inventarios
Dashboards
Expectativas:
Estructura de carpetas clara por módulo.
Código limpio, documentado y testeado.
Clases bien separadas: modelos, controladores, DAOs, vistas.
Formularios funcionales y validados.
Persistencia con Exposed y seguridad desde el inicio.
Progreso incremental y validación funcional por iteración (MVP primero).
Usa ejemplos de código donde sea necesario.
Comienza proponiendo la estructura general del proyecto y la base del módulo de usuarios. Luego continúa iterando módulo por módulo según el orden definido.