Skip to content

StephenNnamaniN/Country-Explorer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

🌍 Country Explorer

Country Explorer is a modern Android application that provides detailed information about countries worldwide. It allows users to browse a list of countries, search for specific ones, and view in-depth details like flags, capitals, populations, and more.

The app is built using Modern Android Development (MAD) practices, ensuring a responsive UI, offline support, and clean code architecture.


✨ Features

  • Country List: View all countries with their names, flags, and basic info.
  • Search & Filter: Quickly find countries by name, country code (CCA2), or continent.
  • Detailed View: Access comprehensive data including official names, sub-regions, area, languages, and population.
  • Offline Support: Countries are cached locally using Room database, allowing you to browse even without an internet connection.
  • Clean UI: Built with Jetpack Compose for a smooth and modern user experience.
  • Image Loading: High-quality flag rendering using Coil.

🛠 Tech Stack & Libraries


🚀 Getting Started

Prerequisites

  • Android Studio Ladybug or newer.
  • JDK 17+.
  • Android SDK 24+.

Installation

  1. Clone the repository:
    git clone https://github.com/your-username/Country-Explorer.git
  2. Open the project in Android Studio.
  3. Sync Project with Gradle Files.
  4. Run the app on an emulator or physical device.

📡 API Reference

This app consumes the RestCountries API.

  • Endpoint: https://restcountries.com/v3.1/all
  • Fields used: name, flags, cca2, region, subregion, capital, population, area, languages.

📸 Screenshots

Country List Search Filter Country Details

🏗 Architecture

The project follows the MVVM pattern and is structured into layers:

  • data: Handles API calls (Retrofit), Local Caching (Room), and Data Mapping.
  • domain: Contains Business Logic, Use Cases, and Repository Interfaces.
  • presentation: UI components (Jetpack Compose) and ViewModels.

About

This an android application that shows user list of countries, flag and some basic details. Developed using Kotlin, Jetpack compose, Hilt for DI and retrofit for API calls following MVVM architecture.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors