Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/efrain-svg/Potes_Freddy_ProgInterfacesG_U3/llms.txt

Use this file to discover all available pages before exploring further.

Contact Management App is a Java 17 desktop application that makes managing personal and professional contacts simple and fast. Built with Java Swing and the FlatLaf look-and-feel library, it delivers a modern, accessible UI while keeping all data local — no internet connection or server required.

What it does

The app lets you organize contacts across three categories (Family, Friends, Work), mark favorites, and search your entire address book in real time. A dedicated Statistics tab gives you instant counts and charts breaking down your contacts by category.

Manage contacts

Add, edit, and delete contacts with name, phone, email, category, and registration date.

Search and filter

Find contacts instantly with async text search and category filtering.

Statistics dashboard

Visual bar and pie charts showing contact distribution by category.

CSV export

Export your visible contacts to a CSV file for use in other applications.

Architecture overview

The application follows a strict Model-View-Controller (MVC) pattern:
LayerClassResponsibility
Modelmodelo.personaContact entity with fields and serialization
Modelmodelo.personaDAOFile I/O, CSV read/write, export
Viewvista.ventanaAll Swing components and layout
Controllercontrolador.logica_ventanaEvents, validation, i18n, concurrency

Technology stack

  • Java 17 — language and runtime
  • Java Swing — UI framework
  • FlatLaf 3.6 — modern look-and-feel library
  • Maven — build and dependency management
  • ResourceBundle — multilingual support (ES, EN, PT)
  • SwingWorker + ExecutorService — background task execution

Data storage

Contacts are persisted locally in a semicolon-delimited CSV file:
c:/gestionContactos/datosContactos.csv
The file is created automatically on first launch. Its format is:
NOMBRE;TELEFONO;EMAIL;CATEGORIA;FAVORITO;FECHA_REGISTRO
Ana Garcia;555-1234;[email protected];FAMILY;true;2024-01-15

Build docs developers (and LLMs) love