The project follows a feature-based directory structure, with an emphasis on modularity, clarity, and separation of concerns. Key folders group related components, logic, and data to support scalability and ease of navigation.

Components

The src/Components folder is the core location for all reusable building blocks of the UI. It is divided into feature-specific subfolders:

Buttons

Contains shared action buttons such as CancelButton, ConfirmButton, and map-related controls like ThemeToggle and ControlZoom.

Components

Holds UI components tied to country selection, such as CountrySelector, which allows users to select countries via a dropdown interface.

Data

Contains structured data used by the application, including the countries.geo.json file and a processed list of countries used in map layers and selectors.

Layers

Includes Leaflet-based map layers used in the application. This includes: CountriesLayer: for rendering country shapes and selections LightMap and DarkMap: base tile layers styled according to the app’s theme

Views

Contains top-level visual containers like WorldMap, which assemble lower-level components into full screen views.