Lion iOS

Lion iOS app written in Swift

README last updated July 15, 2021

Requirements

IDE & OS versions

  • Xcode 12
  • Minimum iOS version of 13.2

Supported Platforms

  • iOS – iPhone only due to HealthKit integration

Dependencies

This project uses internal private packages managed through the Swift Package Manager, so access to the following GitHub repositories will also be required in order to build the Xcode project:

NOTE: Xcode will ask for a GitHub personal access token for your user account in order to be able to authentication and download from other private repos. On GitHub > Settings > Developer Settings > Personal Access Tokens, there is an option on your PAC that says “Enable SSO”. You need to enable Evidation’s SSO otherwise you are likely to continue to get authentication issues even after you add you PAC.

There is a git-ignored file called PrivateConfig.plist that needs to be configured. You can copy the template using the command cp Modules/Lion-App/Lion/PrivateConfigTemplate.plist Modules/Lion-App/Lion/PrivateConfig.plist from the root of the git repo. Settings in this file are local only and do not get committed to git.

During the build process, Xcode will attempt to create a seed database by pulling app content from the server. In PrivateConfig.plist, you will need to specify a valid auth token under SeedCreationTokensPerEnvironment for each environment for which you want to build and include the seed database. Alternatively, you can disable seed database creation by setting the value of ShouldSkipSeedDatabaseCreation to YES.

Build & Run

Aside from the package dependencies mentioned above, you will also need a user account per environment to actually use the app. Follow the Onboarding process below to activate an account.

Running different schema

Tha application has a variety of build schema within Xcode.

Schema Purpose
Lion [need description]
Lion-BETA [need description]
Lion-DEV [need description]
Lion-QA [need description]
Lion-Seed [need description]
Lion-STAGE [need description]

Onboarding – Setting up an account

  1. Check for an available UINFIN number in this file
    • Any available number can be claimed in the Dev and QA environmnents for Alpha and Beta consult with the QA team for access
  2. From the welcome page of the app choose to Sign up for LumiHealth
  3. Follow the prompts to reach the Continue with Mock Pass option
  4. Choose the claimed UINFIN number from the dropdown & Login
  5. Complete the remaining onboarding steps

Contributing

This repo uses a manual Gitflow workflow for branch management. When working on this project, a typical scenario for contributing would be:

  1. Have a Jira ticket assigned to you.
  2. Create a branch in the feature folder of the project.
  3. When ready for a code review and for merging your work into the project, issue a PR to the merge your feature branch into develop.
    1. At least one reviewer must review and approve your code
  4. Once approved, [?] will issue the merge manually…[need to complete this]

CI/CD

[need info on the flow for deployment to various environment and who how and when they happen]

Documentation

Main Documentation

Type Link
Confluence https://achievements.atlassian.net/wiki/spaces/LION/overview
Jira https://achievements.atlassian.net/secure/RapidBoard.jspa?rapidView=123
GitHub Wiki https://github.com/evidation-health/lion-client/wiki (new)

Additional Links

Team

Product

  • Amy Bass
  • Kat Messina

Engineering

  • Stefan Compton – Lead
  • Mel Walker
  • Ben Fisher
  • Paul Bonneville

GitHub

View Github