SKIP TO CONTENT
Back to Projects

Halla2 Lawen: Serverless iOS Driving Education Platform

A serverless native iOS application built with UIKit and MVVM-C, leveraging Firebase Firestore and AWS S3 to streamline driving license curriculum and exam preparation.

COMPLETED

1. The Objective

The driving school and license application process in Lebanon is notoriously unstructured, paper-dependent, and vulnerable to scheduling inconsistencies. During my frontend iOS development internship at CME Offshore—an elite program accepting fewer than 3.7% of over 1,000 applicants—our team architected Halla2 Lawen. This serverless mobile platform was built to computerize, standardize, and streamline theoretical study and practical competency tracking for driving students across Lebanon.

Key project requirements included:

  • Centralizing the Official Curriculum: Digitizing chapters and lessons officially set by the Ministry of Interior to eliminate chaotic prep cycles.
  • Simulating Theoretical Exams: Building a multi-question quiz environment that mirrors the exact computerized testing experience used by the state.
  • Device Compatibility & Layout Longevity: Leveraging programmatic UIKit structures rather than SwiftUI to ensure full stability and performance across legacy iOS hardware.
  • Rigorous Version Control & Peer Review: Maintaining tight collaborative iterations in a three-person development team using structured Git Flow and senior mentor code assessments.

2. The Architecture

The system was designed natively using Swift and the MVVM-C (Model-View-ViewModel with Coordinator) architectural pattern. The architecture strictly separates responsibilities to isolate user interface components from core business logic:

  1. The View (UIKit View Controllers): Responsible solely for rendering programmatic layouts, establishing precise layout constraints, and handling view lifecycle events.
  2. The View Model: Encapsulates all domain-specific business logic and maintains descriptive data states.
  3. The Coordinator Pattern: De-couples the View Controllers entirely from navigation flows by centralizing routing logic in dedicated coordinator objects.
  4. The Repository Layer: Abstracts network transactions, fetching data using the cloud SDK and mapping responses to structural domain models.

For its backend, Halla2 Lawen uses a modern, serverless cloud infrastructure:

  • Firebase Firestore: Functions as the primary cloud NoSQL database, storing structured data collections for chapters, subcollections for lessons, and quiz configurations.
  • Amazon Web Services (AWS) S3: Acts as the secure cloud object storage provider, hosting official educational lesson materials securely.

3. The Core Engineering Triumph: Secure Serverless Content Delivery

The primary technical hurdle centered on rendering the educational curriculum fluidly without overloading local device code footprint or forcing users to download app store updates whenever material changed. Storing raw lessons as standard code strings failed to render layout elements like subheadings and images correctly, while standard web-views presented risks of malicious script injections.

The solution was a highly decoupled, serverless document pipeline. Under this framework, official lesson contents are authored as PDF files and hosted inside a cloud storage bucket. When a student selects a specific chapter lesson from the UIKit list view, the application executes a light query to Firebase Firestore to retrieve the document path metadata. The core engine pulls the matching target PDF directly from the AWS S3 bucket and renders it natively inside a sandboxed WKWebView component.

This architecture allows instant, remote curriculum updates without modifying client-side code, while keeping data transfer lightweight and keeping view layouts fully reactive to user selection changes.


4. Impact & Delivery Metrics

The development cycle concluded with a complete, production-ready product delivered fully in due time:

  • Strict Architecture Compliance: Codebase refactoring replaced raw observables with explicit data components (PublishRelay and BehaviorRelay), successfully enforcing clean MVVM standards and eliminating memory leaks.
  • Seamless UI Adaptability: Separating business logic from presentation proved its value in Week 7. When design interns delivered finalized high-fidelity Figma mockups, our team completely overhauled the application's visual interface exclusively inside the View Controller files, without altering a single line of backend data or view model logic.
  • High-Scrutiny Team Delivery: Operatively successfully inside an Agile team, delivering features through structured pull requests, resolving merge conflicts collaboratively, and completing internal security compliance and engineering reviews.