ninjaparade / accesskit

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

accesskit

Design Figma file.

Objectives

Create a UIKit navigation POC that will allow the app to deep link to certain screens within the app.

The deeplinking can be done either via a Push notification or by handling urls and their payload.

Deeplinking examples

Login OTP (One time password)

Our app will not us any sort of password to gain access, to gain access and obtain an access token, the user would provide their email, and then a One time password would be sent

Details image

The email would have the code the user can enter manually,or they can click the link and the app should handle the link and autofill the 6 digiat code.

image

Getting to an active repair

The use of this app is to allow customers to be able to check in their vheicle for service and monitor the status of their repair. Once a repair has been started we will be sending push notifications during status changes

Details

The repair details screen shown below, will be where we want to be able to push customers to see their repair status.

image

This detials view is where most of the action will be during an interaction at the repair bay. Being able to get here from the root of the application will be vital.

Navigation

As discussed, I am still uncler how UKit navigation can work with SwiftUI and support enviorment objects and DI injection for app state and an option that has reference to the API service, logging etc.

Creating a base app that is able to dispaly and navigate each screen in the figma flow linked at the start of the readme would be amazing

Global Combine publishers.

Global Alerts

During interactions in the app, I want to be able to have a global publisher that can dispatch events to show a toast/notificaiton. this can be for showing an error messtion, an API validation error etc.

Validation Errors.

During form inputs and submission some sort of global combine publisher that can send validation errors captured from 422 status code responses from the API, I will provide the struct of what these look loike but pretty much as follows

{
    "message": "Error message. (and 1 more error)",
    "errors": {
        "email": [
            "The email field is invald."
        ],
        "passcode": [
            "The passcode is invalid."
        ]
    }
}

Questions

  • I want to have in app data storage, I am leanding towards using Realm, what are your thoughts?
  • I want to allow customers to provide their credit card information (using Stripe) and once we get the payment method tokenized sending it our API to store.

About


Languages

Language:Swift 100.0%