Skip to content

Repository files navigation

Notify 🔔

An Android app that listens to notifications, logs them locally, and intelligently processes booking-related messages.

Project Structure

notify/
├── app/
│   ├── build.gradle.kts
│   └── src/
│       └── main/
│           ├── java/com/example/notify/
│           │   │
│           │   ├── MainActivity.kt                  # App entry point, Compose host
│           │   ├── NotifyApp.kt                     # Application class (Hilt)
│           │   │
│           │   ├── booking/                         # Booking intelligence layer
│           │   │   ├── BookingApiService.kt          # API calls for booking processing
│           │   │   ├── BookingConfig.kt              # Configuration constants
│           │   │   ├── BookingMessageParser.kt       # Parses booking SMS/notifications
│           │   │   ├── BookingProcessingState.kt     # State model for booking flow
│           │   │   └── BookingProcessor.kt           # Core booking processing logic
│           │   │
│           │   ├── data/
│           │   │   ├── local/
│           │   │   │   ├── NotificationDatabase.kt   # Room database setup
│           │   │   │   ├── dao/
│           │   │   │   │   ├── AppDao.kt             # DAO for tracked apps
│           │   │   │   │   ├── BookingDao.kt         # DAO for booking records
│           │   │   │   │   └── NotificationDao.kt    # DAO for notifications
│           │   │   │   └── entity/
│           │   │   │       ├── AppEntity.kt          # Tracked app data model
│           │   │   │       ├── BookingFingerprintEntity.kt  # Dedup fingerprint model
│           │   │   │       ├── BookingLogEntity.kt   # Booking log data model
│           │   │   │       └── NotificationEntity.kt # Notification data model
│           │   │   └── repository/
│           │   │       └── NotificationRepository.kt # Single source of truth
│           │   │
│           │   ├── di/                              # Hilt dependency injection
│           │   │   ├── BookingModule.kt             # Provides booking dependencies
│           │   │   └── DatabaseModule.kt            # Provides Room DB & DAOs
│           │   │
│           │   ├── service/                         # Background services
│           │   │   ├── BootReceiver.kt              # Restart service on device boot
│           │   │   └── NotificationReceiverService.kt # NotificationListenerService
│           │   │
│           │   └── ui/
│           │       ├── components/
│           │       │   └── NotificationCard.kt      # Reusable notification list item
│           │       ├── navigation/
│           │       │   ├── NavGraph.kt              # Compose navigation graph
│           │       │   └── Screen.kt                # Sealed class for routes
│           │       ├── screens/
│           │       │   ├── AppsScreen.kt            # Manage tracked apps
│           │       │   ├── DashboardScreen.kt       # Stats & booking overview
│           │       │   ├── HomeScreen.kt            # Notification feed
│           │       │   ├── NotificationDetailScreen.kt # Full notification view
│           │       │   ├── OnboardingScreen.kt      # Permission onboarding flow
│           │       │   └── SettingsScreen.kt        # App settings
│           │       ├── theme/
│           │       │   ├── Color.kt                 # Color palette
│           │       │   └── Theme.kt                 # Material3 theme config
│           │       └── viewmodel/
│           │           ├── AppsViewModel.kt         # ViewModel for AppsScreen
│           │           ├── DashboardViewModel.kt    # ViewModel for DashboardScreen
│           │           ├── HomeViewModel.kt         # ViewModel for HomeScreen
│           │           └── SettingsViewModel.kt     # ViewModel for SettingsScreen
│           │
│           └── res/
│               ├── drawable/                        # Vector icons & avatars
│               ├── layout/                          # Legacy XML layouts
│               ├── menu/                            # Navigation menus
│               ├── mipmap-*/                        # App launcher icons
│               ├── navigation/                      # Nav component graph
│               ├── values/                          # Colors, strings, themes
│               └── xml/                             # Backup & data extraction rules
│
├── gradle/
│   └── libs.versions.toml                          # Version catalog
├── build.gradle.kts                                # Root build config
├── settings.gradle.kts                             # Project settings
└── gradle.properties                               # Gradle JVM & project flags

Tech Stack

Layer Technology
Language Kotlin
UI Jetpack Compose + Material3
Architecture MVVM + Repository pattern
DI Hilt
Database Room
Navigation Compose Navigation
Background NotificationListenerService

Getting Started

  1. Clone the repo
    git clone https://github.com/kynhood/notify.git
  2. Open in Android Studio
  3. Build & run on a device/emulator (API 26+)
  4. Grant Notification Access permission when prompted during onboarding

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages