MΓ³dulo 15 Β· Modularize with SPM β LecciΓ³n 3 de 4 Β· ~8 min
Feature packages & an acyclic graph
DesignSystem, then features
Next comes DesignSystem β colors, fonts, reusable components like the booking-price label β its own package, depended on by anyone who needs UI. Then feature packages: Bookings, Live (the live-tracking screens from Module 13), each depending on PawWalkKit (for models and networking) and DesignSystem (for UI), but crucially not on each other.
Bookings never imports Live, and Live never imports Bookings. If a booking confirmation needs to show a live map, that's not Bookings reaching into Live β it's a shared piece pulled down into PawWalkKit or a new small package both depend on, or a protocol Bookings defines that something above it satisfies.