Skip to content

Android app for taking photos, analyzing information, and organizing measurements across different projects

Notifications You must be signed in to change notification settings

killriam/Quick-Measurements-Insights

Repository files navigation

Measure App - Android Measurement & Analysis App

A state-of-the-art Android application for taking photos, analyzing information, and organizing measurements across different projects.

Features

Core Functionality

  • Project Management: Create and organize multiple projects
  • Measure Management: Create different types of measures within projects
  • Photo Capture: Built-in camera functionality for capturing measurement images
  • Image Analysis: Automatic extraction of data from photos using ML Kit OCR
  • Data Visualization: Charts and visualizations for insights
  • Reminder System: Automatic reminders for follow-up measurements

Supported Measurement Types

  1. Water Consumption

    • Take photos of water meters
    • Automatic OCR extraction of meter readings
    • Delta chart showing consumption changes over time
  2. Room Humidity & Temperature

    • Take initial photo of temperature/humidity display
    • Automatic 10-minute reminder for follow-up photo
    • Color-coded map visualization showing temperature and humidity values

Architecture

  • UI: Jetpack Compose with Material 3
  • Architecture: MVVM (Model-View-ViewModel)
  • Database: Room Database for local data persistence
  • Camera: CameraX for camera functionality
  • ML: ML Kit Text Recognition for OCR
  • Work Manager: For scheduling reminders

Project Structure

app/src/main/java/com/measureapp/
├── data/              # Data models and Room database
├── service/           # Image analysis services
├── ui/
│   ├── screen/       # Compose screens
│   ├── theme/        # App theme
│   └── viewmodel/    # ViewModels
└── util/             # Utilities (Camera, Permissions, Reminders)

Setup Instructions

  1. Prerequisites

    • Android Studio Hedgehog or later
    • Android SDK 24+ (minimum), 34 (target)
    • Kotlin 1.9.20+
  2. Build the Project

    ./gradlew build
  3. Run the App

    • Connect an Android device or start an emulator
    • Run the app from Android Studio or use:
      ./gradlew installDebug

Permissions

The app requires the following permissions:

  • CAMERA: For taking photos
  • POST_NOTIFICATIONS: For reminder notifications (Android 13+)

Usage

  1. Create a Project

    • Tap the "+" button on the Projects screen
    • Enter a project name and create
  2. Create a Measure

    • Open a project
    • Tap "+" to create a new measure
    • Select measure type (Water Consumption or Room Humidity & Temperature)
    • Enter a name for the measure
  3. Take Measurements

    • Open a measure
    • Tap the camera button to take a photo
    • The app will automatically analyze the image and extract values
    • For room measurements, a reminder will be set for a 10-minute follow-up
  4. View Insights

    • Scroll down in the measure detail screen to see visualizations
    • Water Consumption: See delta chart of consumption changes
    • Room Measurements: See color-coded map of temperature and humidity

Technical Details

Image Analysis

  • Uses Google ML Kit Text Recognition for OCR
  • Extracts numeric values from water meter displays
  • Recognizes temperature and humidity values from sensor displays
  • Handles various formats and units

Data Storage

  • All data stored locally using Room Database
  • Images saved to app's external files directory
  • No cloud sync (can be added as future enhancement)

Reminders

  • Uses Work Manager for scheduling
  • 10-minute delay for room measurement follow-ups
  • Notification with deep link back to the measure

Future Enhancements

  • Export data to CSV/PDF
  • Cloud backup and sync
  • Additional measurement types
  • Custom visualization options
  • Image editing and annotation
  • Multi-language support

License

This project is provided as-is for educational and development purposes.

About

Android app for taking photos, analyzing information, and organizing measurements across different projects

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages