# Getting Started

## What This Project Does
This codebase is a Java currency-conversion application built as a Maven project. Based on the repository metadata and configuration, it appears to use the Exchange Rate API for live rate data and Gson plus SLF4J for JSON handling and logging.

If you are new to the team, start by understanding how the app loads its API key, fetches exchange rates, and formats conversion results.

## Recommended Reading Order
1. **Project setup and dependencies** — read [`pom.xml`](../../pom.xml) to see the Java version, libraries, and build setup.
2. **Runtime configuration** — read [`src/main/resources/config.properties`](../../src/main/resources/config.properties) to understand how the API key is provided.
3. **Application code** — inspect the main entry point and the classes that handle API access, conversion logic, and output formatting.

## Key Entry Points
There are no highly referenced classes identified in this repository snapshot, so start with the application entry point and trace outward from there.

Recommended path:
- Find the main class that launches the app.
- Trace the service or client that calls the Exchange Rate API.
- Follow the conversion logic that turns raw exchange-rate data into user-facing results.
- Review the logging and JSON parsing code once the main flow is clear.

## Project Structure
The repository is small and centered around a single Maven module:
- [`pom.xml`](../../pom.xml) defines the Java 23 build, dependencies, and packaging.
- `src/main/resources/` holds runtime resources such as [`config.properties`](../../src/main/resources/config.properties).
- Application source code should live under `src/main/java/` following the standard Maven layout.

Because the module map shows only one module (`blaxk3`) and no prominent class hierarchy, expect a compact codebase with most of the behavior concentrated in a few classes.

## Configuration
Key configuration files:
- [`src/main/resources/config.properties`](../../src/main/resources/config.properties) — stores the Exchange Rate API key placeholder.
- [`pom.xml`](../../pom.xml) — controls the Java compiler level and dependency versions.

Important note:
- Replace `API_KEY = YOUR_API_KEY` with a real key from Exchange Rate API before running anything that depends on live rates.

## Common Patterns
Until you read the application classes, expect the code to follow a simple service-oriented flow:
- **Configuration-first startup** — load API credentials from resources before making requests.
- **API client + parsing** — retrieve JSON from the external exchange-rate service and parse it with Gson.
- **Logging through SLF4J** — use SLF4J for diagnostics instead of direct `System.out` logging where possible.
- **Small, single-purpose classes** — in a compact Maven project like this, each class should do one job: fetch rates, convert values, or present results.

## Where to Go Next
After this guide, read the main entry point and the first class that touches the API. That will give you the shortest path to understanding the app end to end.