Releases: StevenU21/PaymentManager
Releases · StevenU21/PaymentManager
v1.0.0
¿De qué trata la app?
PaymentManager es una aplicación para la gestión de planes de pago compartidos entre varios usuarios. Permite organizar, registrar y controlar pagos periódicos (por ejemplo, suscripciones, cuotas, membresías) donde varias personas participan y deben cubrir un monto total entre todos.
La app facilita la administración de:
- Usuarios y sus datos de contacto.
- Métodos de pago disponibles.
- Planes de pago (con monto total, día de pago, estado).
- La relación de cada usuario con uno o varios planes de pago.
- Los periodos de pago de cada usuario dentro de un plan.
- Los pagos realizados y su asignación a periodos específicos.
- Notificaciones por email y SMS para recordar pagos.
Principales Features
1. Gestión de Usuarios
- Registro y edición de usuarios con nombre, email y teléfono.
- Relación de cada usuario con los planes de pago en los que participa.
2. Planes de Pago
- Creación de planes con nombre, monto total, día de pago y estado (activo/inactivo).
- Cada plan puede tener varios usuarios asociados.
3. Métodos de Pago
- Registro de métodos de pago (ejemplo: transferencia, efectivo, tarjeta).
4. Asignación de Usuarios a Planes
- Cada usuario puede estar asociado a uno o varios planes.
- Se calcula automáticamente la cuota individual de cada usuario según el total y la cantidad de participantes activos.
5. Periodos de Pago
- Para cada usuario en un plan, se generan periodos mensuales con fecha de vencimiento y monto a pagar.
- El sistema puede recalcular los periodos y montos si cambian los usuarios activos o el monto total.
6. Registro de Pagos
- Los pagos se registran y se asignan automáticamente al periodo correspondiente.
- Soporta pagos parciales, adelantados y pagos que cubren varios periodos.
7. Notificaciones y Recordatorios
- Envío de recordatorios por email y SMS a los usuarios para avisar de pagos próximos o atrasados.
- Validación de emails y teléfonos antes de enviar notificaciones.
8. Validaciones y Seguridad
- Validaciones de datos antes de registrar o editar entidades.
- Servicios para validar la unicidad y consistencia de la información.
Resumen de la arquitectura
- Modelos: Representan usuarios, planes, métodos de pago, periodos y pagos.
- Servicios: Encapsulan la lógica de negocio para CRUD, cálculos de cuotas, generación de periodos, registro de pagos y notificaciones.
- Notificaciones: Integración con servicios de email y SMS para comunicación automática.
- UI/UX: (No incluido en el código mostrado, pero se asume una interfaz para gestionar usuarios, planes y pagos).
¿Para qué sirve?
- Para grupos de personas que comparten gastos periódicos (ejemplo: roomies, amigos con suscripciones, equipos deportivos, etc.).
- Para llevar control de quién ha pagado, cuánto falta, y cuándo es el siguiente pago.
- Para automatizar recordatorios y evitar olvidos o confusiones en los pagos grupales.
