A Modern, Real-time Water Delivery & Subscription Management System
Drips Water is a high-performance, cross-platform mobile and web application built with Flutter and Firebase. Designed for the 2026 water delivery industry, it features real-time order tracking, multi-address management, and a robust Admin Control Center for seamless operations.
- Intuitive Ordering: Clean, Bento-style UI for browsing products and quick checkout.
- Address Management: Multiple location support (Home, Office, Other) with "Smart Labels" and default settings.
- Scheduled Deliveries: Support for standard and scheduled delivery windows.
- Order Tracking: Real-time status updates from "Pending" to "Delivered."
- Promo Engine: Built-in discount code validation for marketing campaigns.
- Role-Based Access: Secure dashboard accessible only to accounts with
adminprivileges. - Live Order Feed: Real-time stream of all incoming orders across the platform using Firestore Snapshots.
- Bento Stats Grid: At-a-glance analytics for Revenue, Pending Orders, and Dispatch status.
- Fulfillment Logic: One-tap order dispatching and delivery completion.
The project follows a strict Clean Architecture pattern to ensure scalability and maintainability:
- Repository Layer (Data): Handles direct Firebase/Firestore communication.
- Service Layer (Bridge): Contains business logic and data transformation.
- Provider Layer (State): Manages UI state using the
providerpackage and handles user interactions. - Presentation Layer (UI): High-quality, responsive widgets with support for Mobile and Web.
- Framework: Flutter (3.x+)
- Backend: Firebase (Auth, Firestore, Hosting)
- State Management: Provider
- Database Rules: Granular Firestore Security Rules for Role-Based Access Control (RBAC).
- UI Components: Custom "Bento" design system, Loading animations, and
ExpansionTiledetail views.
- Flutter SDK (v3.19.0 or higher recommended)
- A Firebase Project
-
Clone the repository
git clone [https://github.com/yourusername/drips_water.git](https://github.com/yourusername/drips_water.git) cd drips_water -
Install dependencies
flutter pub get
-
Configure Firebase
- Run
flutterfire configureor manually addgoogle-services.json(Android) andGoogleService-Info.plist(iOS).
- Run
-
Run the app
flutter run
To enable Admin features for a specific user:
- Navigate to the Firestore Console.
- Locate the user's document in the
userscollection. - Add a field
role: "admin"(String). - The "Admin Dashboard" button will automatically appear in that user's profile.
Distributed under the MIT License. See LICENSE for more information.
Developed with ❤️ for the future of hydration delivery.