HamHub-app

HamHub

A native Android app for amateur radio operators to log contacts, track awards, and access ham radio tools.

Features

Requirements

Tech Stack

Component Technology
Language Kotlin
UI Jetpack Compose
Database Room (SQLite)
Architecture MVVM + Repository
DI Hilt
Navigation Navigation Compose
Networking Retrofit + OkHttp
Maps osmdroid (OpenStreetMap)
Charts Vico

Building

  1. Clone the repository
  2. Open in Android Studio (Hedgehog or newer recommended)
  3. Sync Gradle
  4. Run on device or emulator
./gradlew assembleDebug

Project Structure

app/src/main/java/com/hamhub/app/
├── data/
│   ├── local/database/     # Room entities, DAOs, database
│   ├── remote/api/         # Retrofit API interfaces
│   └── repository/         # Data repositories
├── domain/
│   ├── model/              # Domain models
│   ├── usecase/            # Business logic
│   └── util/               # Utilities (ADIF parser, grid calc, etc.)
├── ui/
│   ├── components/         # Reusable Compose components
│   ├── navigation/         # Navigation setup
│   ├── screens/            # Screen composables
│   └── theme/              # Material 3 theming
└── di/                     # Hilt modules

License

This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA 4.0).

You are free to:

Under the following terms:

Privacy

HamHub respects your privacy. All data is stored locally on your device. See our Privacy Policy for details.

Contributing

Contributions are welcome! Please ensure any contributions are compatible with the CC BY-NC-SA 4.0 license.

Acknowledgments