# App Release Template (ART)

This project can be used to generate mobile device apps (Android / iOS) and the standalone Angular web app. Beware that this is only the app/frontend part and your need a fully functioning backend deployment first.

## Requirements

* A fully functioning and publicly accessible [backend](https://gitlab.com/openstapps/backend) deployment
* An active Apple App Store Developer Account and/or Google Playstore Developer Account
* Docker (Android and Angular builds)
* MacOS Device with latest Xcode, fastlane and xmlstarlet, node v14 and npm package @ionic/cli (iOS builds only)

## Docker

Use weelkly updated image from this repo

```bash
docker pull registry.gitlab.com/openstapps/app-release-template:latest
```

Or build your own image from Dockerfile within this project

```bash
docker build -t openstapps-art .
```

## Usage

0. If neccessary make adjustments to your app / profiles / entitlements in your corresponding developer/store portal
1. Overwrite assets in customizable directory with your own ones (keeping the same size and file format)
2. Edit app.conf.sample to your liking and rename it to app.conf (needs info you can find in your corresponding developer/store portal)
3. Use docker to run `make web` and `make android` (i.e. `docker run -it -v $(pwd):/build --rm openstapps-art:latest make web`)
4. On a macOS device run `make ios` (make sure you have all required certificates / profiles set up in Xcode)
5. Gitlab CI runs need to be provided with SCP targets and Base64 encoded SSH private keys via env variables for web and (optionally) apk deployments
