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.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.
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:| Layer | Class | Responsibility |
|---|---|---|
| Model | modelo.persona | Contact entity with fields and serialization |
| Model | modelo.personaDAO | File I/O, CSV read/write, export |
| View | vista.ventana | All Swing components and layout |
| Controller | controlador.logica_ventana | Events, 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