Full Application Demo

I have created a demo app to showcase what I have learned. I am using a Firebase Firestore as the Database, and this data is managed via an API. This API is built in Go and is running on a VPS. The user facing client is an iOS app built using SwiftUI.

 

Repo’s

API:

Swift App:

 

Firestore DB:

 

Demo:

 

Access to Postman to send API calls to the API:

 

Challenges Encountered

  • Figuring out the “Source of Truth”. For example:
    • if there is a situation where the app is offline, how do we deal with using the app?
    • Are changes queued and synced when connectivity is restored?
    • If that occurs, and there is a data conflict for a record, who wins? DB or app?