E-FACTS — E-receipt management companyE-FACTS — E-receipt management company
Engineering

Mobile (iOS) guidelines

SwiftUI consumer app conventions — tabs, auth, money, networking

Mobile (iOS) guidelines

Canonical consumer client: efacts-iosapp (SwiftUI, iOS 17+).

Product chrome

ElementRule
TabsAppTab: Home · My Bills · Analysis · Offers
AuthUnauthenticated → AuthPortalView before RootTabView
ProfileDrawer / adjacent — not a fifth tab

See Product IA.

Engineering conventions

TopicConvention
UISwiftUI; modular App/, Core/, Features/, Models/, Services/
MoneyInt64 cents; format for display with tabular figures
TokensKeychain (KeychainStore) — not UserDefaults
NetworkingTyped client (ShopperAPIClient); map snake_case explicitly
Google Sign-InSPM dependency; server verifies id_token
PrivacyZero-PAN mindset; minimize sensitive logging

Design

Follow Design language / docs/Design.md for color, type, and components. Prefer system materials where they aid clarity; keep Bright Accent CTAs with On-bright labels.

Build

  • Local: Xcode on a current stable toolchain
  • CI: xcodebuild (with appropriate DEVELOPER_DIR in CI images)
  • Distribute TestFlight / App Store via the iOS repo’s release docs

On this page