Coder Social home page Coder Social logo

anantk17 / safer-illinois-app Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rokwire/safer-illinois-app

0.0 1.0 0.0 24.36 MB

Source code repository of "Safer Illinois" App - the official COVID-19 app of the University of Illinois.

Home Page: https://safer.illinois.edu/

License: Apache License 2.0

Java 13.02% Ruby 0.12% Objective-C 13.92% C++ 0.04% Shell 0.25% Dart 72.64%

safer-illinois-app's Introduction

Safer Illinois App

The official COVID-19 app of the University of Illinois. Powered by the Rokwire Platform.

Requirements

Flutter v1.17.5

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

  1. 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"
  }
}
  1. Generate random 16-bytes AES128 key.
  2. AES encrypt the JSON string, CBC mode, PKCS7 padding, using the AES.
  3. Create a data blob contains the AES key at the beginning followed by the encrypted data.
  4. 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.

NB: For versions prior to 2.8.

• /assets/organizations.hook.json.enc

  1. JSON data with the following format:
{
	"url": "https://api-dev.rokwire.illinois.edu/assets/buckets/items/organizations",
	"api_key": "XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXXXXXXX"
}
  1. Generate random 16-bytes AES128 key.
  2. AES encrypt the JSON string, CBC mode, PKCS7 padding, using the AES.
  3. Create a data blob contains the AES key at the beginning followed by the encrypted data.
  4. Get a base64 encoded string of the data blob and save it as /assets/organizations.hook.json.enc.

Alternatively, you can use AESCrypt.encode from /lib/utils/Crypt.dart to generate content of /assets/organizations.hook.json.enc.

NB: For version 2.8 and later.

• /assets/organizations.json.enc

  1. JSON data with the following format:
[
	{
		"id": "uiuc",
		"name": "UIUC",
		"icon_url": "https://upload.wikimedia.org/wikipedia/commons/7/7c/Illinois_Block_I.png",
		"default": true,
		"environments": {
			"production": {
				"url": "https://api.rokwire.illinois.edu/covid/app/configs",
				"api_key": "XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXXXXXXX",
				"default": "release"
			},
			"dev": {
				"url": "https://api-dev.rokwire.illinois.edu/covid/app/configs",
				"api_key": "XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXXXXXXX",
				"default": "debug"
			},
			"test": {
				"url": "https://api-test.rokwire.illinois.edu/covid/app/configs",
				"api_key": "XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXXXXXXX"
			}
		}
	},
  ...
]
  1. Generate random 16-bytes AES128 key.
  2. AES encrypt the JSON string, CBC mode, PKCS7 padding, using the AES.
  3. Create a data blob contains the AES key at the beginning followed by the encrypted data.
  4. Get a base64 encoded string of the data blob and save it as /assets/organizations.json.enc.

Alternatively, you can use AESCrypt.encode from /lib/utils/Crypt.dart to generate content of /assets/organizations.json.enc.

NB: Optional way to supply statically embeded organizations in appication bundle. If the list contains single organization definition the application switches to single organization mode. "/assets/organizations.hook.json.enc" must be omited from application assets in order to "/assets/organizations.json.enc" to take efect.

NB: For version 2.8 and later.

• /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

safer-illinois-app's People

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.