This page serves to give you a better idea about the various systems involved in our mobile app development cycle - from coding to shipping. It also serves as a guide to help your fellow engineers recall the kind of accesses they need to grant you if you’ve just joined. Note that depending on your role and how sensitive the data in a given system is, access may be restricted to you.
Code / Development
Item | Purpose | Default access | Remarks |
---|---|---|---|
Mobile Code Repo | Mobile app source code. | Developer | - |
Fastlane Non-Prod Repo | Required to fetch and install iOS | Developer | - |
For Android local debugging, the mobile source code is all that you require. For iOS, however, You will need to request for your iPhone/iPad to be whitelisted in our enterprise Apple Developer account (get help from someone who has access), as well as the Fastlane non-production repository. Note that whitelisting iOS devices is subject to an annual quota of 100-device per annum - therefore please make sure you intend to support for iOS development if you’re going to consume a slot!
Build Generation
Note that we are using Fastlane for the generation of our .ipa
(iOS) files. Fastlane allows us to easily store application profiles that are needed for compiling the app in a repository of our choice, and to automatically fetch from it to generate a build. This saves us the need to grant every single developer access to sensitive configurations in App Store Connect. See the official docs for Fastlane here to find out about the other features it provides. Also, take a look at the scripts we have configured in app/app_safi/ios/fastlane/Fastfile
.
Item | Purpose | Default access | Remarks |
---|---|---|---|
Mobile Build Repo | Generates | Developer | - |
Github Actions | Generates | Viewer | - |
Fastlane Non-Prod Repo | Store non-prod fastlane assets | Developer | - |
Fastlane Prod Repo | Store prod fastlane assets | No access | - |
Vault Prod Repo | Store prod key value pair | No access | - |
App deployments
Item | Purpose | Default access | Remarks |
---|---|---|---|
App Store Connect |
| Developer | - |
Google Play Console | Android cert/user management, release configurations
| Viewer | - |
iOS Testflight | Access to generated | - | Please ask Medel Vecina (Unlicensed) or Andre Laksmana (Unlicensed) |
Firebase App Distribution & Firebase Remote Config | Access to generated | Viewer | Please ask Medel Vecina (Unlicensed) or Andre Laksmana (Unlicensed) |
App performance monitoring / Analytics
Item | Purpose | Default access | Remarks |
---|
Item | Purpose | Default access | Remarks |
---|---|---|---|
Firebase Crashlytics | Crashlytics | Viewer | Please ask Medel Vecina (Unlicensed) or Andre Laksmana (Unlicensed) |
Firebase Analytics | App Analytics | Viewer | Please ask Medel Vecina (Unlicensed) or Andre Laksmana (Unlicensed) |
High-fidelity UI
Item | Purpose | Default access | Remarks |
---|---|---|---|
Figma | High-fidelity mockups of apps | - | Please ask Peter Venglarčík (Unlicensed) |