All projects

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.

Every country in the world, one tap away.

A reference tool that loads without blocking.

Built in UIKit with Swift Concurrency: the REST Countries API is fetched with async/await while a custom UIImageView extension streams each flag in, so the table stays responsive as 250 countries populate.

Country list with flags and official names

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