A state-of-the-art Android application for taking photos, analyzing information, and organizing measurements across different projects.
- 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
-
Water Consumption
- Take photos of water meters
- Automatic OCR extraction of meter readings
- Delta chart showing consumption changes over time
-
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
- 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
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)
-
Prerequisites
- Android Studio Hedgehog or later
- Android SDK 24+ (minimum), 34 (target)
- Kotlin 1.9.20+
-
Build the Project
./gradlew build
-
Run the App
- Connect an Android device or start an emulator
- Run the app from Android Studio or use:
./gradlew installDebug
The app requires the following permissions:
CAMERA: For taking photosPOST_NOTIFICATIONS: For reminder notifications (Android 13+)
-
Create a Project
- Tap the "+" button on the Projects screen
- Enter a project name and create
-
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
-
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
-
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
- 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
- All data stored locally using Room Database
- Images saved to app's external files directory
- No cloud sync (can be added as future enhancement)
- Uses Work Manager for scheduling
- 10-minute delay for room measurement follow-ups
- Notification with deep link back to the measure
- Export data to CSV/PDF
- Cloud backup and sync
- Additional measurement types
- Custom visualization options
- Image editing and annotation
- Multi-language support
This project is provided as-is for educational and development purposes.