Virgin Mobile KSA

Virgin Mobile KSA - application for a new type of mobile company. The program provides access to change the tariff plan, disconnection/connection of support services.
tripplanninghappystaygobudgetflightschoosecitieshotelsactivitie
tripplanninghappystaygobudgetflightschoosecitieshotelsactivitie
tripplanninghappystaygobudgetflightschoosecitieshotelsactivitie
tripplanninghappystaygobudgetflightschoosecitieshotelsactivitie

SWIFT

  • Fastlane & CI/CD
  • Clean Swift Architecture
  • Custom charts
  • QR-code/Bar-code scanning
  • Google maps
  • Firebase (analytic, push notification)
  • Facebook, Google, Twitter integration
  • Branch.io (deeplinks)
  • Apptimize (Mobile A/B testing & Release management)
  • Adjust (analytic)
  • Instabug
  • SwiftyBeaver

JAVA

  • RxJava
  • Retrofit
  • Gson
  • LifeData
  • Google maps
  • FireBase
  • Branch.io
  • Instabug
  • Lokalise
  • Custom charts
  • RxBinding

Application functionality

  • SIM card and mobile number booking with wide variety of predefined and custom plans;
  • Tracking SIM cards delivery on map;
  • Ability to add family mobile numbers and family IoT devices;
  • Dashboard experience to easily manage own and family mobile numbers, track spendings and usage, manual and auto top-up wallets, create/change/pause plans, add boosters;
  • In-app help and online chat.
What was done
  • Clean Swift architecture with VIP cycle that allowed us to fully utilise well-known SOLID principles and unit tests;
  • We used feature toggling technique to show/hide features dynamically in production. It's very useful for A/B testing and very trendy now;
  • We paid attention to automatization of the process of sending applications to the client and App Store/ Google Play. It allowed us to achieve product continuous integration and delivery;
  • We utilised next security practices for online payments and hacker attacks on the app: cryptography & SSL pinning, obfuscation of sensitive strings and keys in the application code, jailbreak detection, anti-reverse engineering techniques;
  • Conventional and well-known techniques in developers community such as Unit testing, Code review and Version control systems helped us to reach high quality, bug-free, maintainable and scalable program code.