GetX modules done right
The other professional Flutter architecture
GetX is unusual: one library replacing four. State management, routing, dependency injection, utilities — all in one package. The bundle is the value proposition; the bundle is also the trade-off. This chapter teaches the patterns that make a GetX project professional rather than tangled, drawn from the TINITEC sup_order app's conventions. By the end you'll know when GetX genuinely wins, how to organize a module, and what mistakes the framework lets you make if you're not paying attention.
Shape
The module pattern
What GetX actually is
Four libraries bundled into one
The module pattern
bindings · controllers · views
The generator script, modernised
bash generate_module.sh <name> → done in 5 seconds
When GetX wins (honestly)
And when it doesn't
State
GetxController + Rx
GetxController — reactive state
Rx variables, lifecycle, listeners
Services
Long-lived singletons
Bindings & services — per-screen and forever
Get.lazyPut vs Get.put(permanent: true)
Platform
Routing, middleware, responsive
Routing + middleware
AppPages, Routes constants, guards
The offline-first signature pattern
Local Hive → push if online → sync on reconnect
Sections
· click any card to expandApple Pencil draws with pressure. Fingers still scroll. Saved per pillar.