ClickSafe is an Android application that provides real-time protection against SMS-based scams and phishing attacks.
app/
├── src/main/java/com/clicksafe/sms/
│ ├── ClickSafeApplication.kt # Hilt Application class
│ ├── data/ # Data layer
│ │ ├── database/ # Room database
│ │ │ ├── ClickSafeDatabase.kt
│ │ │ ├── dao/ # Data Access Objects
│ │ │ └── entity/ # Database entities
│ │ └── repository/ # Repository implementations
│ ├── detection/ # Detection engine
│ │ └── DetectionEngineImpl.kt
│ ├── di/ # Dependency injection modules
│ │ ├── DatabaseModule.kt
│ │ ├── DetectionModule.kt
│ │ ├── RepositoryModule.kt
│ │ └── ServiceModule.kt
│ ├── domain/ # Domain layer
│ │ ├── interfaces/ # Core interfaces
│ │ └── model/ # Data models
│ ├── presentation/ # UI layer
│ │ ├── MainActivity.kt
│ │ └── theme/ # Compose theme
│ └── service/ # Services and receivers
│ ├── AlertServiceImpl.kt
│ ├── NotificationServiceImpl.kt
│ ├── SmsMonitorImpl.kt
│ ├── SmsReceiver.kt
│ └── SmsMonitorService.kt
- Kotlin: Primary programming language
- Hilt: Dependency injection framework
- Room: Local database for message storage
- TensorFlow Lite: Machine learning inference
- Jetpack Compose: Modern UI toolkit
- Coroutines: Asynchronous programming
The app follows Clean Architecture principles with:
- Domain Layer: Core business logic and interfaces
- Data Layer: Repository implementations and database
- Presentation Layer: UI components and ViewModels
- Service Layer: Background services and system integration
Handles SMS permission management and message interception.
Orchestrates multiple detection methods for threat analysis.
Manages user notifications and alert responses.
Handle data persistence and user preferences.
The project uses Gradle with Kotlin DSL and includes:
- Android SDK 34 (target and compile)
- Minimum SDK 24
- Kotlin 1.9.10
- Compose BOM 2023.10.01
This is the foundational structure. Subsequent tasks will implement:
- Data models and database operations
- SMS monitoring and permissions
- Detection engine with ML and heuristics
- Alert system and notifications
- User interface and settings