/ios-diia

Primary LanguageSwiftEuropean Union Public License 1.2EUPL-1.2

Diia

This repository provides an overview over the flagship product Diia developed by the Ministry of Digital Transformation of Ukraine.

Diia is an app with access to citizen’s digital documents and government services.

The application was created so that Ukrainians could interact with the state in a few clicks, without spending their time on queues and paperwork - Diia open source application will help countries, companies and communities build a foundation for long-term relationships. At the heart of these relations are openness, efficiency and humanity.

We're pleased to share the Diia project with you.

Useful Links

Topic Link Description
Ministry of Digital Transformation of Ukraine https://thedigital.gov.ua/ The Official homepage of the Ministry of Digital Transformation of Ukraine
Diia App https://diia.gov.ua/ The Official website for the Diia application

Getting Started

Installing

1.1. Clone the repository and open the Xcode project file.

git clone https://github.com/diia-open-source/ios-diia.git
cd ios-diia
open DiiaOpenSource.xcodeproj

1.2. Wait for the SPM packages to finish resolving.

Executing program

Build and run the project on iOS device or simulator.

How to test

To get mock user for testing please refer to the TESTING.md file for details.

Configuration Details

For configuring project we are using .xcconfig settings files:

Development Environment (DiiaDev.xcconfig)

// API
API_BASE_URL = api2oss.diia.gov.ua

// APP SETTINGS
APP_NAME = Diia OpenSource
APP_BUNDLE_ID = ua.gov.diia.opensource.app
SCHEME = DiiaDev
  • API_BASE_URL: Set this to the URL of your backend server.
  • APP_NAME: Defines the name of the application.
  • APP_BUNDLE_ID: Specifies the bundle identifier of the application.
  • SCHEME: Indicates the scheme used for the application.

Features

Authorization

  • Presenting authentication available methods
  • Bank-ID authorization method
  • PinCode. Enteing, changing pincode plust enabling the using biometry option

Documents

  • Presenting collection of available documents with the ability to change the order
  • Driver License document

Public Services

  • Presenting list of avalable public services
  • Criminal Record Extract service

Settings Menu

It serves as the go-to hub for personalized control and management within the app, offering features like the ability to reorder documents, change the app's pin code, toggle biometry on/off, contact support, read about the app and policies, and log out.

Dependencies

Almost all features and core components such as network core and UI library are shipped as separate SPM packages.

1st party

3rd party

How to contribute

The Diia project welcomes contributions into this solution; please refer to the CONTRIBUTING file for details

Licensing

Copyright (C) Diia and all other contributors.

Licensed under the EUPL (the "License"); you may not use this file except in compliance with the License. Re-use is permitted, although not encouraged, under the EUPL, with the exception of source files that contain a different license.

You may obtain a copy of the License at https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12.

Questions regarding the Diia project, the License and any re-use should be directed to modt.opensource@thedigital.gov.ua.