The mobile cross-platform application for manage the IoT devices of the smart home system.
- adding new devices and deleting unused ones for the current authorized user;
- receiving, processing and providing data from devices in the required form;
- device settings management: directly via Wifi and online via Firebase Backend;
- subscriptions to alerts from specific devices.
- The Firebase products used: Authentication, Realtime Database, Cloud Messaging for receive alarms push-notifications;
- The App state management and particaly Ephemeral state management based on flutter_bloc library;
- For implementation Dependency injection pattern used (get_it)[https://pub.dev/packages/get_it] librady;
- The mobile_scanner library uses for scanning QR-codes during new IoT-devices adding.
- Sending messages by FCM Rest API with 'FCM-token' uses http library;
- The wifi_iot library used for provide wifi credentials to new IoT-devices.
- Firebase cloud storage for storing photos from an IoT-devices based on The ESP32-Cam controller;