Skip to content

axeljm0/PyContact

Repository files navigation

📒 Agenda Telefónica - Sistema de Gestión de Contactos

Python License Code Style

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.

📋 Tabla de Contenidos

✨ Características

Funcionales

  • 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

Técnicas

  • 🏗️ 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

💻 Requisitos del Sistema

  • Python: Versión 3.7 o superior
  • Sistema operativo: Windows, Linux, macOS (cualquiera con Python)
  • Dependencias: Ninguna (solo biblioteca estándar de Python)

About

Agenda de contactos en Python con CRUD completo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages