diff --git a/README.md b/README.md new file mode 100644 index 0000000..891dce2 --- /dev/null +++ b/README.md @@ -0,0 +1,31 @@ +[](https://apps.apple.com/us/app/pod-coffee-capsules/id1547170152) + +# Pod: Coffee Capsules + +Pod offers detailed information about the entire range of Nespresso coffee capsules. Organise your own collection of capsules within the app, stored safely in iCloud. Automatically record your water and caffeine consumption in the Health app. + +[](https://apps.apple.com/us/app/pod-coffee-capsules/id1547170152) + +## Implementation + +### UI + +The user interface is built almost entirely using SwiftUI with the UIKit App Delegate to manage its life cycle. + +### Firebase + +The app relies on a Firebase Cloud Firestore Database which stores the capsule information. Firestore offers offline support, caching the majority of the dataset on-device. + +Google Cloud Storage is used to store assets such as capsule images and Firestore backups. Firestore capsule entries reference the relevant object keys for related assets. These assets are also stored on-device. + +Firebase Cloud Functions are used to collate analytical data captured by Google Analytics. This allows Pod to display the most popular and most favourited capsules back to the user. These functions are run daily, making SQL queries to BigQuery, and storing the collated data as Firebase Remote Config parameters. The repository for these Cloud Functions can be found here: [lukebettridge/pod-functions](https://github.com/lukebettridge/pod-functions). + +### Data + +The capsule information itself is collected manually via the Firestore UI or a self-built form within a small Next.js application behind Firebase SMS Authentication. The repository for this can be found here: [lukebettridge/pod-web](https://github.com/lukebettridge/pod-web). + +## Screenshots + +Collection|Capsule|Search|Explore|Trends +-|-|-|-|- +||||