Architecture
Architecture
How Discover is structured: layers, patterns, and where code lives.
Architecture Overview
MVVM
How I used MVVM on Discover, and how that compares to MV or VIPER.
Domain
How I kept entities and UseCases free of frameworks.
Repositories & Services
How I hid Geoapify and SwiftData behind Repositories and Services.
Networking
How I kept HTTP behind NetworkClient and inside Repositories.
SwiftData
How I persisted favorites without making POI a SwiftData model.
Dependency Injection
How I wired Discover manually with DIContainer, bundles, and factories.
Navigation
How I typed routes and pushed screens from ViewModels.
Modularization
What I extracted into Swift Packages and what stayed in the app target.
App Flow
Step-by-step walkthrough from app launch to the first POI on screen.