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:
- There is no authentication, feel free to play with it.
- https://www.getpostman.com/collections/a36754b922e07ce06f38
- Some of the endpoints:
- User endpoint: https://pace-api.jasondale.me/api/user
- Company endpoint: https://pace-api.jasondale.me/api/company
- Project endpoint: https://pace-api.jasondale.me/api/project
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?