Safer Illinois App
The official COVID-19 app of the University of Illinois. Powered by the Rokwire Platform.
Requirements
Flutter v1.17.5
Android Studio 3.6+
xCode 11.5
CocoaPods 1.9.3+
Build
Clone this repo
Supply the following private configuration files:
• /.travis.yml
[No description available]
• /secrets.tar.enc
[No description available]
• /assets/configs.json.enc
- JSON data with the following format:
{
"production": {
"config_url": "https://api.rokwire.illinois.edu/app/configs",
"api_key": "XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXXXXXXX"
},
"dev": {
"config_url": "https://api-dev.rokwire.illinois.edu/app/configs",
"api_key": "XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXXXXXXX"
},
"test": {
"config_url": "https://api-test.rokwire.illinois.edu/app/configs",
"api_key": "XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXXXXXXX"
}
}
- Generate random 16-bytes AES128 key.
- AES encrypt the JSON string, CBC mode, PKCS7 padding, using the AES.
- Create a data blob contains the AES key at the beginning followed by the encrypted data.
- Get a base64 encoded string of the data blob and save it as /assets/configs.json.enc.
Alternatively, you can use AESCrypt.encode from /lib/utils/Crypt.dart to generate content of /assets/configs.json.enc.
• /ios/Runner/GoogleService-Info-Debug.plist
• /ios/Runner/GoogleService-Info-Release.plist
The Firebase configuration file for iOS generated from Google Firebase console.
• /android/keys.properties
Contains a GoogleMaps and Android Backup API keys.
googleMapsApiKey=XXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXX
androidBackupApiKey=XXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXX
• /android/app/src/debug/google-services.json
• /android/app/src/release/google-services.json
• /android/app/src/profile/google-services.json
The Firebase configuration file for Android generated from Google Firebase console.
Build the project
$ flutter build apk
$ flutter build ios
NB: You may need to update singing & capabilities content for Runner project by opening /ios/Runner.xcworkspace from xCode