iOS App

CountryApp

A native iOS application that displays information about countries worldwide. The app fetches country data from the REST Countries API and presents it in a clean, tab-based interface with search and detail views.

CountryApp

Purpose

Provides users with quick access to country information including flags, official names, capitals, population, currencies, and languages. The app serves as a reference tool for exploring geographic and demographic data for all countries.

Key Features

Country List

Scrollable table view with flag thumbnails, common names, and official names.

Country Details

Flag banner, official name, capital, population, currency, and languages.

Async Data Loading

Swift Concurrency (async/await) for non-blocking API calls.

Image Loading

Custom async image loading with URLSession for flag images.

Tab Navigation

Tab bar interface with Countries and Settings tabs.

Error Handling

HTTP status code validation and graceful network error management.

Dynamic Layout

Auto Layout with responsive design and dynamic cell sizing.

REST API Integration

REST Countries API v3.1 with network requests and response parsing.

Tech Stack

frontend

UIKitSwiftMVC architectureSwift Concurrency (async/await)UITableViewUIImageViewUILabel

backend

REST Countries API v3.1URLSession

infrastructure

Custom UIImageView extensionAuto Layout constraintsDynamic table view cell sizing