Skip to content

LiquidGalaxyLAB/DATA-Spaces-for-LG-Frontend

Repository files navigation

DATA Spaces Visualization for Liquid Galaxy

app_logo
Platform GSoC 2025 Flutter

Table of Contents

  1. Overview
  2. Key Features
  3. Technologies Used
  4. Installation
  5. Usage
  6. License
  7. Contact

Overview

DATA Spaces Visualization for Liquid Galaxy is an Android application developed as part of Google Summer of Code 2025 with the Liquid Galaxy project. Built with Flutter, a UI framework by Google for building natively compiled applications, this app is designed to visualize Data Spaces information on Liquid Galaxy systems. It serves as a bridge between FIWARE-based Data Spaces and Liquid Galaxy's immersive visualization capabilities, enabling users to explore and interact with spatial data from Data Spaces in an engaging way.

Why Flutter?

Flutter was chosen for this project because:

  • Rich set of customizable widgets
  • Excellent performance for real-time data visualization
  • Strong support for Material Design
  • Great community support and extensive package ecosystem
  • Native compilation for optimal Android performance

Why It Matters

Data Spaces visualization is crucial for:

  • Understanding the interconnection of different data sources within Data Spaces
  • Visualizing FIWARE context information in a geographical context
  • Making data-driven decisions based on Data Spaces information
  • Facilitating real-time monitoring of Data Spaces entities
  • Improving the accessibility of Data Spaces information through immersive visualization

Key Features

  1. Data Spaces Integration:

    • Connection to FIWARE Context Broker
    • Real-time entity data visualization
    • Support for multiple Data Spaces sources
    • NGSI-v2 compatibility
    • Agricultural data from pig farms (DWG and FCR metrics)
  2. Spatial Data Visualization:

    • Google Maps integration
    • Entity location mapping
    • Attribute visualization
    • Real-time updates
  3. Liquid Galaxy Connectivity:

    • Secure SSH connection
    • Synchronized visualization across displays
    • Remote installation control
    • KML generation for entity visualization
    • Synchronized map view between app and Liquid Galaxy
    • QR scanner for quick setup
  4. Data Management:

    • Configure refresh intervals
    • Manage cached data
    • Filter and sort information
  5. User Interface:

    • Material Design
    • Entity filtering and search
    • Customizable visualization options
    • Intuitive controls for Liquid Galaxy interaction
    • Colorblind mode support with optimized color schemes
    • Accessibility features for color-vision deficient users

Technologies Used

  • Flutter: A UI framework by Google for building natively compiled applications
  • Dart: Modern programming language optimized for client apps
  • FIWARE: Context information management
  • Google Maps Flutter: Official Flutter plugin for Google Maps
  • dartssh2: SSH connection management for Flutter
  • Provider: State management solution for Flutter
  • Shared Preferences: Flutter plugin for persistent storage
  • NGSI-v2: Data Spaces communication protocol

Installation

Prerequisites

  • Flutter SDK (^3.8.1)
  • Android Studio
  • Android SDK
  • Git
  • Access to a FIWARE Context Broker
  • Liquid Galaxy system

Installation Steps

  1. Clone the repository:

    git clone https://github.com/LiquidGalaxyLAB/DATA-Spaces-for-LG-Frontend.git
  2. Navigate to the project directory:

    cd DATA-Spaces-for-LG-Frontend
  3. Install dependencies:

    flutter pub get
  4. Configure Google Maps:

    • Rename android/app/src/main/res/values/strings.xml.example to strings.xml
    • Replace YOUR_API_KEY with your Google Maps API key in the renamed file
  5. Build and install the Android application:

    flutter build apk

Usage

  1. Initial Setup:

    • Configure Liquid Galaxy connection settings:

      • Manual configuration through settings
      • Quick setup using QR code scanner
      • Connection validation system

         LG Connection Process

    • Set up Data Spaces connection parameters

    • Configure visualization preferences

    • Enable colorblind mode if needed

    Normal Mode      Colorblind Mode

  2. Data Spaces Interaction:

    • Browse available entities
    • Filter entities by type or attributes
    • View entity details and locations
  3. Visualization Control:

    • Select entities for visualization
    • Control Liquid Galaxy camera
    • Customize visualization styles
    • Manage active visualizations
  4. Data Management:

    • Monitor entity updates
    • View historical data

Accessibility Features

The application includes a comprehensive colorblind mode that:

  • Uses carefully selected color combinations suitable for different types of color vision deficiencies
  • Ensures high contrast for better readability
  • Allows easy switching between normal and colorblind modes
  • Maintains consistency in the user interface across both modes

Normal Mode Balloon      Colorblind Mode Balloon

Normal Mode KML      Colorblind Mode KML

License

This project is licensed under the Apache License 2.0 - see the LICENSE.md file for details.

Contact

Developer: Marc Bañeres Farrán

Liquid Galaxy: Website | GitHub Google Summer of Code 2025: Project Page

About

Marc Banyeres

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published