Una aplicación de consola robusta y profesional para la gestión de contactos, desarrollada en Python con Programación Orientada a Objetos, validaciones exhaustivas y persistencia en JSON.
- Características
- Requisitos del Sistema
- Instalación
- Estructura del Proyecto
- Uso
- Arquitectura
- Diagramas UML
- Ejemplos de Uso
- Manejo de Errores
- Pruebas
- Contribución
- Licencia
- ✅ CRUD completo: Agregar, modificar, eliminar y buscar contactos
- ✅ Validaciones estrictas:
- Nombre obligatorio
- Mínimo un teléfono por contacto
- Email único en todo el sistema
- Teléfonos únicos globalmente
- Formato de email validado con regex
- ✅ Categorías organizativas:
- Amigos
- Familiares
- Trabajo
- Estudios
- Múltiples categorías por contacto
- ✅ Búsqueda inteligente: Por nombre exacto o parcial (case-insensitive)
- ✅ Menú interactivo: Interfaz amigable con emojis y formato claro
- 🏗️ Arquitectura limpia: Separación en capas (UI, Lógica de negocio, Persistencia)
- 🔒 Encapsulación: Uso de propiedades y métodos privados
- 📊 Índices optimizados: Búsqueda O(1) por teléfono y email
- 💾 Persistencia JSON: Guardado automático después de cada operación
- 🛡️ Manejo robusto de errores: Sin crashes, mensajes claros al usuario
- 🔄 Rollback automático: En modificaciones fallidas
- Python: Versión 3.7 o superior
- Sistema operativo: Windows, Linux, macOS (cualquiera con Python)
- Dependencias: Ninguna (solo biblioteca estándar de Python)