{"id":50531348,"url":"https://github.com/barteqcz/onqa","last_synced_at":"2026-06-06T01:03:38.646Z","repository":{"id":361017327,"uuid":"1252793961","full_name":"barteqcz/Onqa","owner":"barteqcz","description":"A location-aware local radio discovering app for Android.","archived":false,"fork":false,"pushed_at":"2026-06-01T18:42:33.000Z","size":443,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-01T19:28:05.152Z","etag":null,"topics":["android","android-application","geolocation","localization","material-ui","radio"],"latest_commit_sha":null,"homepage":"https://onqa.barteq.cz","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/barteqcz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-28T21:59:27.000Z","updated_at":"2026-06-01T18:44:40.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/barteqcz/Onqa","commit_stats":null,"previous_names":["barteqcz/loqa","barteqcz/onqa"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/barteqcz/Onqa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barteqcz%2FOnqa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barteqcz%2FOnqa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barteqcz%2FOnqa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barteqcz%2FOnqa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/barteqcz","download_url":"https://codeload.github.com/barteqcz/Onqa/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barteqcz%2FOnqa/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33867802,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-03T02:00:06.370Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-application","geolocation","localization","material-ui","radio"],"created_at":"2026-06-03T14:00:28.674Z","updated_at":"2026-06-03T14:00:39.286Z","avatar_url":"https://github.com/barteqcz.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg width=\"150\" alt=\"dfggdfgdfdg\" src=\"https://github.com/user-attachments/assets/4b919397-4e25-400f-9b5e-356125befe10\" /\u003e\n\u003cbr\u003e\n\n# Onqa\n\nThere’s definitely something magical about discovering the local radio ether, that is different in every place, what makes each place unique. However, FM radio is often unavailable in new phones. \n\nAs an IT enthusiast, radio enthusiast and a DXer, I’ve always loved exploring the airwaves wherever I go. I feel like life would be much sadder without radio. Yet terrestrial broadcasting is the most magical way of enjoying it, sometimes you just want something more portable - straight on your phone, with an amazing UI, polished [maps ecosystem](https://onqa.barteq.cz/) and many features.\n\nThat’s where **Onqa** comes from. It's not meant to be a replacement for terriestrial broadcasting. It's meant to do a similar thing - allow the users to discover their local radio ether.\n\nThe name is inspired by the Spanish words *onda* (“wave”) and *cerca* (“nearby”), reflecting the idea of discovering the radio stations around you.\n\n## Screenshots\n\n\u003cimg width=\"200\" alt=\"Screenshot_2026-06-01-19-58-52-855_com barteqcz onqa\" src=\"https://github.com/user-attachments/assets/7cc3a0b8-de45-404f-9d69-fdb3808de2a3\" /\u003e\n\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n\u003cimg width=\"200\" alt=\"Screenshot_2026-06-01-19-58-46-148_com barteqcz onqa\" src=\"https://github.com/user-attachments/assets/cfd432c9-d301-4602-88bf-972e4f963811\" /\u003e\n\n\n## Features\n\n- **Location-Based Discovery**: Automatically finds and prioritizes radio stations near your current location using background location services.\n- **High-Quality Streaming**: Support for HQ audio streams to provide a crystal-clear listening experience.\n- **Material UI**: A beautiful UI that can also adapt to your device's wallpaper and theme colors.\n- **Adaptive Themes**: Full support for Light and Dark modes, with customizable accent colors.\n- **Seamless Media Experience**: Built with Android Media3 for robust background playback, lock screen controls, and system integration.\n- **Favorites**: Save your most-listened-to stations for instant access.\n- **Modern Mini Player**: Control your music effortlessly while navigating the app.\n- **Intelligent Connectivity**: Monitoring network status to ensure smooth playback transitions between Wi-Fi and mobile data.\n\n## Tech Stack\n\n- **UI**: [Jetpack Compose](https://developer.android.com/jetpack/compose) with [Material 3](https://m3.material.io/)\n- **Architecture**: MVVM with Clean Architecture principles\n- **Dependency Injection**: [Hilt](https://developer.android.com/training/dependency-injection/hilt-android)\n- **Media**: [Media3 (ExoPlayer)](https://developer.android.com/guide/topics/media/media3)\n- **Networking**: [Retrofit](https://square.github.io/retrofit/) \u0026 [OkHttp](https://square.github.io/okhttp/)\n- **Serialization**: [Kotlinx Serialization](https://github.com/Kotlin/kotlinx.serialization)\n- **Concurrency**: [Kotlin Coroutines](https://kotlinlang.org/docs/coroutines-overview.html) \u0026 [Flow](https://kotlinlang.org/docs/flow.html)\n- **Storage**: [Jetpack DataStore](https://developer.android.com/topic/libraries/architecture/datastore)\n- **Image Loading**: [Coil](https://coil-kt.github.io/coil/)\n- **Location**: [Google Play Services Location](https://developers.google.com/android/guides/setup)\n- **Logging**: [Timber](https://github.com/JakeWharton/timber)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarteqcz%2Fonqa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbarteqcz%2Fonqa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarteqcz%2Fonqa/lists"}