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.

Before you build Contact Management App you need a Java 17 runtime and, optionally, Maven if you prefer the Maven build path. No other downloads are required for a manual build because the three dependency JARs are already committed to the repository in the lib/ directory.

Java 17

Java 17 is the minimum required version. Both the pom.xml compiler settings and the manual javac command target Java 17. Check your installed version:
java -version
Expected output:
openjdk version "17.x.x" ...
If Java is not installed or the version is older than 17, download a distribution from Adoptium (Eclipse Temurin). Adoptium provides free, TCK-verified OpenJDK builds for Windows, macOS, and Linux.
Java versions older than 17 will fail to compile the source. The project uses var, records-style patterns, and java.time APIs that require at least Java 17.

Maven 3.6+ (optional)

Maven is only needed for the Maven build path. It is not required for the manual build. Check your installed version:
mvn -version
Expected output:
Apache Maven 3.x.x ...
If Maven is not installed, download it from maven.apache.org or install via your package manager (e.g. winget install Apache.Maven, brew install maven, apt install maven).

Bundled dependencies (no download needed for manual build)

The lib/ directory in the repository contains all runtime JARs needed for the manual build path:
JARVersionPurpose
flatlaf-3.6.jar3.6FlatLaf look-and-feel for modern Swing styling
flatlaf-extras-3.6.jar3.6FlatLaf extras including FlatSVGUtils for SVG icon loading
jsvg-1.4.0.jar1.4.0SVG rendering engine used by FlatLaf extras
When building with Maven, these JARs are downloaded from Maven Central automatically and you do not need the lib/ directory at compile time. At runtime, Maven packages them into the output JAR.

Git

To clone the repository you need Git. Alternatively, download a ZIP archive from the GitHub repository page and extract it.
git clone <repository-url>

pom.xml settings

The Maven project is configured with the following coordinates and Java version:
pom.xml
<groupId>ec.edu</groupId>
<artifactId>u1c5-agc</artifactId>
<version>1.0.0</version>

<properties>
    <maven.compiler.source>17</maven.compiler.source>
    <maven.compiler.target>17</maven.compiler.target>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
The source encoding is set to UTF-8, which is required because the i18n .properties files and some source comments include non-ASCII characters.

Operating system note

The application is primarily designed for Windows. personaDAO hardcodes the data directory as c:/gestionContactos/datosContactos.csv. The application will compile and launch on Linux or macOS, but contacts will not be saved to the expected path without modifying the DAO source.
No IDE is required. Both build paths work entirely from the command line (PowerShell on Windows, or any shell on Linux/macOS for the Maven path).

Build docs developers (and LLMs) love