This commit restructures the monorepo to improve organization, maintainability, and scalability. The changes include: - Moving mobile apps from `mobile-apps/` to `apps/mobile-*`. - Moving the web dashboard from `admin-web/` and `frontend-web/` to `apps/web-dashboard/`. - Moving Firebase-related files to the root `firebase/` directory. - Adding a `.geminiignore` file to exclude unnecessary files from Gemini analysis. - Updating `.gitignore` to reflect the new structure and exclude sensitive files. - Updating `codemagic.yaml` to reflect the new app locations. - Adding a `make help` command to the root directory. - Adding a `make install-git-hooks` command to install git hooks. - Adding a `docs/02-codemagic-env-vars.md` file to document Codemagic environment variables. - Adding a `docs/03-contributing.md` file to document contribution guidelines. - Adding prototype placeholders to the internal launchpad. - Updating the `README.md` file to reflect the new structure and provide updated instructions. These changes improve the overall structure of the monorepo and make it easier to develop, maintain, and scale the KROW Workforce platform.
7.2 KiB
7.2 KiB
Codemagic Environment Variables
This document outlines the environment variables required for the Codemagic CI/CD pipelines defined in codemagic.yaml. These variables should be configured in your Codemagic project under Environment variables.
Client App (client-app)
Group: client_app_dev_credentials
| Variable Name | Example Value | Secure | Description |
|---|---|---|---|
FLAVOR |
dev |
No | The Flutter flavor to use for the build. |
FIREBASE_APP_ID_ANDROID |
1:DEV_ANDROID_APP_ID |
No | The Firebase App ID for the Android app (Dev). |
FIREBASE_APP_ID_IOS |
1:DEV_IOS_APP_ID |
No | The Firebase App ID for the iOS app (Dev). |
FIREBASE_TESTER_GROUPS |
developers |
No | Comma-separated list of Firebase tester groups. |
FIREBASE_TOKEN |
(your_firebase_token) |
Yes | Your Firebase CLI token. |
GOOGLE_SERVICES_JSON |
(contents of google-services.json) |
Yes | Contents of your google-services.json file for Android (Dev). |
GOOGLE_SERVICE_INFO_PLIST |
(contents of GoogleService-Info.plist) |
Yes | Contents of your GoogleService-Info.plist file for iOS (Dev). |
KEYSTORE_PASSWORD |
(your_keystore_password) |
Yes | Password for the Android keystore. |
KEY_ALIAS |
(your_key_alias) |
Yes | Alias for the key in the Android keystore. |
KEY_PASSWORD |
(your_key_password) |
Yes | Password for the key in the Android keystore. |
Group: client_app_staging_credentials
| Variable Name | Example Value | Secure | Description |
|---|---|---|---|
FLAVOR |
staging |
No | The Flutter flavor to use for the build. |
FIREBASE_APP_ID_ANDROID |
1:STAGING_ANDROID_APP_ID |
No | The Firebase App ID for the Android app (Staging). |
FIREBASE_APP_ID_IOS |
1:STAGING_IOS_APP_ID |
No | The Firebase App ID for the iOS app (Staging). |
FIREBASE_TESTER_GROUPS |
qa-team, stakeholders |
No | Comma-separated list of Firebase tester groups. |
FIREBASE_TOKEN |
(your_firebase_token) |
Yes | Your Firebase CLI token. |
GOOGLE_SERVICES_JSON |
(contents of google-services.json) |
Yes | Contents of your google-services.json file for Android (Staging). |
GOOGLE_SERVICE_INFO_PLIST |
(contents of GoogleService-Info.plist) |
Yes | Contents of your GoogleService-Info.plist file for iOS (Staging). |
KEYSTORE_PASSWORD |
(your_keystore_password) |
Yes | Password for the Android keystore. |
KEY_ALIAS |
(your_key_alias) |
Yes | Alias for the key in the Android keystore. |
KEY_PASSWORD |
(your_key_password) |
Yes | Password for the key in the Android keystore. |
Group: client_app_prod_credentials
| Variable Name | Example Value | Secure | Description |
|---|---|---|---|
FLAVOR |
prod |
No | The Flutter flavor to use for the build. |
FIREBASE_APP_ID_ANDROID |
1:PROD_ANDROID_APP_ID |
No | The Firebase App ID for the Android app (Prod). |
FIREBASE_APP_ID_IOS |
1:PROD_IOS_APP_ID |
No | The Firebase App ID for the iOS app (Prod). |
FIREBASE_TESTER_GROUPS |
(empty or specific group) |
No | Comma-separated list of Firebase tester groups. |
FIREBASE_TOKEN |
(your_firebase_token) |
Yes | Your Firebase CLI token. |
GOOGLE_SERVICES_JSON |
(contents of google-services.json) |
Yes | Contents of your google-services.json file for Android (Prod). |
GOOGLE_SERVICE_INFO_PLIST |
(contents of GoogleService-Info.plist) |
Yes | Contents of your GoogleService-Info.plist file for iOS (Prod). |
KEYSTORE_PASSWORD |
(your_keystore_password) |
Yes | Password for the Android keystore. |
KEY_ALIAS |
(your_key_alias) |
Yes | Alias for the key in the Android keystore. |
KEY_PASSWORD |
(your_key_password) |
Yes | Password for the key in the Android keystore. |
Staff App (staff-app)
Group: staff_app_dev_credentials
| Variable Name | Example Value | Secure | Description |
|---|---|---|---|
FLAVOR |
dev |
No | The Flutter flavor to use for the build. |
FIREBASE_APP_ID_ANDROID |
1:DEV_ANDROID_APP_ID |
No | The Firebase App ID for the Android app (Dev). |
FIREBASE_APP_ID_IOS |
1:DEV_IOS_APP_ID |
No | The Firebase App ID for the iOS app (Dev). |
FIREBASE_TESTER_GROUPS |
developers |
No | Comma-separated list of Firebase tester groups. |
FIREBASE_TOKEN |
(your_firebase_token) |
Yes | Your Firebase CLI token. |
GOOGLE_SERVICES_JSON |
(contents of google-services.json) |
Yes | Contents of your google-services.json file for Android (Dev). |
GOOGLE_SERVICE_INFO_PLIST |
(contents of GoogleService-Info.plist) |
Yes | Contents of your GoogleService-Info.plist file for iOS (Dev). |
KEYSTORE_PASSWORD |
(your_keystore_password) |
Yes | Password for the Android keystore. |
KEY_ALIAS |
(your_key_alias) |
Yes | Alias for the key in the Android keystore. |
KEY_PASSWORD |
(your_key_password) |
Yes | Password for the key in the Android keystore. |
Group: staff_app_staging_credentials
| Variable Name | Example Value | Secure | Description |
|---|---|---|---|
FLAVOR |
staging |
No | The Flutter flavor to use for the build. |
FIREBASE_APP_ID_ANDROID |
1:STAGING_ANDROID_APP_ID |
No | The Firebase App ID for the Android app (Staging). |
FIREBASE_APP_ID_IOS |
1:STAGING_IOS_APP_ID |
No | The Firebase App ID for the iOS app (Staging). |
FIREBASE_TESTER_GROUPS |
qa-team, stakeholders |
No | Comma-separated list of Firebase tester groups. |
FIREBASE_TOKEN |
(your_firebase_token) |
Yes | Your Firebase CLI token. |
GOOGLE_SERVICES_JSON |
(contents of google-services.json) |
Yes | Contents of your google-services.json file for Android (Staging). |
GOOGLE_SERVICE_INFO_PLIST |
(contents of GoogleService-Info.plist) |
Yes | Contents of your GoogleService-Info.plist file for iOS (Staging). |
KEYSTORE_PASSWORD |
(your_keystore_password) |
Yes | Password for the Android keystore. |
KEY_ALIAS |
(your_key_alias) |
Yes | Alias for the key in the Android keystore. |
KEY_PASSWORD |
(your_key_password) |
Yes | Password for the key in the Android keystore. |
Group: staff_app_prod_credentials
| Variable Name | Example Value | Secure | Description |
|---|---|---|---|
FLAVOR |
prod |
No | The Flutter flavor to use for the build. |
FIREBASE_APP_ID_ANDROID |
1:PROD_ANDROID_APP_ID |
No | The Firebase App ID for the Android app (Prod). |
FIREBASE_APP_ID_IOS |
1:PROD_IOS_APP_ID |
No | The Firebase App ID for the iOS app (Prod). |
FIREBASE_TESTER_GROUPS |
(empty or specific group) |
No | Comma-separated list of Firebase tester groups. |
FIREBASE_TOKEN |
(your_firebase_token) |
Yes | Your Firebase CLI token. |
GOOGLE_SERVICES_JSON |
(contents of google-services.json) |
Yes | Contents of your google-services.json file for Android (Prod). |
GOOGLE_SERVICE_INFO_PLIST |
(contents of GoogleService-Info.plist) |
Yes | Contents of your GoogleService-Info.plist file for iOS (Prod). |
KEYSTORE_PASSWORD |
(your_keystore_password) |
Yes | Password for the Android keystore. |
KEY_ALIAS |
(your_key_alias) |
Yes | Alias for the key in the Android keystore. |
KEY_PASSWORD |
(your_key_password) |
Yes | Password for the key in the Android keystore. |