1.3 KiB
1.3 KiB
Clean Scanner (MVP)
Offline-first, ad-free QR/barcode scanner built with Kotlin + Compose + CameraX + ML Kit.
Architektur
ui/: Compose-Screens + ViewModels (MVVM presentation layer)data/: Scanner-Analyzer, Room entities/DAO, Repositorydomain/: app models (ScanResult,ScanRecord,UrlRiskResult)settings/: DataStore preferences (history toggle, warnings toggle)util/: URL risk scorer, clipboard, intents
Datenschutz
- Keine Werbung
- Keine Tracker/Analytics/Crashlytics
- Kein Backend/keine Webrequests
- Keine
INTERNET-Permission im Manifest
MVP Features
- Startscreen mit Scan-Button und lokalem Historie-Toggle (Default: OFF)
- Scanner mit CameraX live preview, Taschenlampe, debounce/no double scan
- Ergebnis-Bottom-Sheet mit Copy/Share/Open/Scan again
- Lokale URL-Risikoheuristik mit Warn-Dialog ab Score
>= 3 - Historie-Liste inkl. Suche, Swipe-delete, Alles-löschen
- Einstellungen: Historie an/aus, Warnungen an/aus, About
Run
- In Android Studio: Open this folder as project.
- Let Gradle sync dependencies.
- Run app on emulator/device (API 24+).
Tests
- URL Risk Scorer Tests:
app/src/test/java/com/clean/scanner/util/UrlRiskScorerTest.kt(11 cases)
Hinweis
In dieser Umgebung war kein gradle/gradlew verfügbar, daher konnte ich Builds/Tests hier nicht lokal ausführen.