Skip to content

fromastwithlove/AiraloAssignment

Repository files navigation

Airalo Technical Interview Assignment – Local eSIMs iOS App

This iOS app is developed as part of the Airalo technical interview assignment. The project demonstrates the ability to build a Swift-based application that interacts with a remote eSIM API, displays country-specific eSIM packages, and follows modern development best practices using SwiftUI and MVVM.


🚀 Features

  • Fetches countries and their respective eSIM packages from the provided Local eSIMs API.
  • Displays country images, names, and available eSIM plans with package details.
  • Pixel-perfect UI following Figma designs.
  • Supports dynamic theming (light/dark) for operator card styles.
  • Fully responsive layout for iPhones and iPads.
  • Built using MVVM architecture for clean code separation.
  • Manages loading, success, and error UI states.

🛠 Tech Stack

  • Language: Swift
  • UI Framework: SwiftUI
  • Architecture: MVVM (Model-View-ViewModel)
  • Networking: URLSession with decodable models
  • Minimum Deployment Target: iOS 17.0
  • Design Tool: Figma (handoff provided)

✅ Project Implementation

1. Project Setup

Note:
The repository is now public. All local assets originally provided by Airalo have been removed or replaced with open-source alternatives.
This project uses the publicly accessible backend API provided by Airalo, which is used here strictly for demonstration purposes as part of a technical assignment.

Disclaimer:
The API and its data are the intellectual property of Airalo.
All rights are reserved by Airalo, and content may not be reproduced, downloaded, disseminated, published, or transferred in any form or by any means, except with the prior written permission of Airalo.
Copyright ©2024 Airalo. All rights reserved.

2. API Integration

  • Integrated with the provided Local eSIMs API using Postman reference.
  • Implemented NetworkService to handle all API requests and response parsing.
  • Successfully fetched and decoded the country list and corresponding eSIM packages.
  • Investigating why requests weren't localizable.

3. UI Development

  • UI fully built using SwiftUI, programmatically.
  • Country and package displays follow exact Figma specs.
  • Handles various screen sizes with responsive spacing.

4. MVVM Architecture

  • View: Responsible only for UI rendering.
  • ViewModel: Handles API communication and state logic.
  • Model: Represents API response data.

5. State Management

  • Loading indicators, success state rendering, and error fallback views.
  • All state transitions are smoothly animated where appropriate.

6. Testing & QA

  • App runs on iPhones and iPads of all sizes.
  • Manual QA completed — design and functionality confirmed.
  • No Xcode warnings or build errors present.
  • Unit tests implemented, covering the network layer and API integration to ensure proper data fetching and response handling.
  • Documentation generated for the project and appended to the repository for future reference.

About

This repository contains a home assignment project created for the Airalo technical interview.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages