Skip to content

jstorm31/grades-ios

Repository files navigation

Grades iOS

Build Status Swift License

Client iOS application for student evaluation management server at Faculty of Information Technologies, Czech Technical University in Prague.

🛠 Setup

  1. Clone the repository.
  2. Request access to configuration files encrypted with git-secret from the repository owner.

🔗 Dependency management

The app uses Swift Package Manager for dependency management. In XCode 12+ the packages should be installed automatically.

Additionally, you should have following frameworks installed system-wide:

⚙️ Configuration

All configuration related files are located in Configuration folder. There are several files:

  • .plist files - all configuration for different environments (one file for each) and common configuration
  • EnvironmentConfiguration - class for extracting configuration from .plist files and providing strongly typed interface

Important note: All plist files are not checked to the repository, but are encrypted and stored in .gitsecret folder. This is achieved by git-secret tool. Only validated contributors with gpg RSA key-pair can access these files.

Adding a value

  1. Add key and value to plist file (common or any environment)
  2. Provide new strongly typed variable in EnvironmentConfiguration extension

Adding an environment

  1. Add environment in your project info
  2. Add correct string to $(CONFIG_ENVIRONMENT) in app's build settings
  3. Add ENVIRONMENT_NAME.plist file (replace ENVIRONMENT_NAME it with real environment name)
  4. EnvironmentConfiguration class may need update

📦 Deploy & Release

The app is deployed manually through AppStore Connect. See Release guide for more info.