SmartTags is a cross-platform Flutter application designed for monitoring and tracking oceanographic platforms (e.g., Argo floats, gliders). It provides a visualization of platform locations on an interactive ocean map, with detailed status information and QR code integration for easier platform identification.
- Interactive Ocean Map: View platform locations on a specialized ocean base map with reference layers.
- Platform Management: Detailed view for each platform including its status (Active/Inactive), model, network, and operational status.
- Offline Support: Local database integration using Drift for persistent storage and offline access.
- QR Scanning: Integrated mobile scanner for quick access to platform details via QR codes.
- Framework: Flutter
- Database: Drift (formerly Moor) for cross-platform reactive persistence.
- Mapping: flutter_map with ArcGIS Ocean Basemaps.
- Location: geolocator for real-time positioning of the user.
- Scanner: mobile_scanner for QR code processing.
lib/
├── database/ # Drift database definition and platform-specific connections
├── helpers/ # Utility functions and helpers
├── models/ # Domain data models
├── screens/ # App screens (Map, Detail, QR Scanner)
├── services/ # API repositories and data synchronization logic
├── theme.dart # Global theme and styling
└── main.dart # Application entry point
- Flutter SDK (latest stable version)
- Android Studio / Xcode (for native development)
- Clone the repository.
- Get dependencies:
flutter pub get
- Generate database code:
flutter pub run build_runner build
- Run the application:
flutter run
Note: For Android testing, ensure location permissions are enabled in the app settings or via the system prompt.