Description
Sudsora | Flutter Laundry and Dry Cleaning App with Laravel Admin
Sudsora | Flutter Laundry and Dry Cleaning App with Laravel Admin Ship a laundry pickup app for one shop with the parts you would otherwise build for weeks already in the box: 22 finished screens, a hamper tally that prices a bag by the piece or by estimated kilos, a care-label decoder, van runs with a door-hanger confirmation, live order tracking, Google and Apple sign-in, in-app purchases, push, three languages, a Laravel admin panel and a landing page. Dark and light, every screen walked by a test driver.
Why this one
- The integrations are already done: Google and Apple sign-in, in-app purchases, push notifications, analytics and crash reports, Face ID / fingerprint lock, update prompts, three languages with RTL, a share sheet and remote images, each behind one interface and switched on from one config file. The paywall sells unlimited care cards; push from the admin panel opens the screen you name.
- A server and a landing page come with it: backend/ is a Laravel API with a Filament admin panel for services, garments, van runs, orders, addresses and care cards, where counter staff move each order through its stages; landing/ is a one-page product site already in Sudsora’s colours.
- Ready to show on day one: 22 screens with empty states, a booking flow that works end to end, a driver that walks every screen before each release; 92 app tests pass, and the back end has 110 more of its own.
Built for developers
- Clean GetX architecture: View, Controller, Service, Repository, with one interface between the screens and the data.
- Four pure Dart engines: price, care, runs and stages, each with its own tests and liftable into another app.
- One config file for every integration: feature_config.dart holds the product ids, client ids and switches.
- Swap in your own API without touching a screen: the repository is one interface with a sample and a Laravel implementation.
- One colour file re-skins the app, and the icon and the landing page are generated from the same palette.


