{"id":20699029,"url":"https://github.com/keygenqt/android-githubviewer","last_synced_at":"2025-04-22T21:48:21.644Z","repository":{"id":87143099,"uuid":"367717930","full_name":"keygenqt/android-GitHubViewer","owner":"keygenqt","description":"Best Tech Stack for Development in 2021","archived":false,"fork":false,"pushed_at":"2022-10-27T19:11:56.000Z","size":12933,"stargazers_count":64,"open_issues_count":0,"forks_count":10,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-29T19:11:26.090Z","etag":null,"topics":["android","compose","jetpack-compose","kotlin"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/keygenqt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2021-05-15T19:50:40.000Z","updated_at":"2025-01-05T14:49:26.000Z","dependencies_parsed_at":"2023-03-13T19:46:58.248Z","dependency_job_id":null,"html_url":"https://github.com/keygenqt/android-GitHubViewer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keygenqt%2Fandroid-GitHubViewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keygenqt%2Fandroid-GitHubViewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keygenqt%2Fandroid-GitHubViewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keygenqt%2Fandroid-GitHubViewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/keygenqt","download_url":"https://codeload.github.com/keygenqt/android-GitHubViewer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250331104,"owners_count":21413094,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","compose","jetpack-compose","kotlin"],"created_at":"2024-11-17T00:27:51.344Z","updated_at":"2025-04-22T21:48:21.636Z","avatar_url":"https://github.com/keygenqt.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"GitHub Viewer\n===================\n\n![picture](data/preview.png)\n\nImplementation of the application using the latest Android Tech Stack and the [GitHub REST API](https://docs.github.com/en/rest).\n\n```xml\n\u003c!-- Github login. You can change the user to your own--\u003e\n\u003cstring name=\"github_user\"\u003ekeygenqt\u003c/string\u003e\n```\n\n### Architecture\n\n* MVVM - [Guide to app architecture](https://developer.android.com/jetpack/guide)\n* [Kotlin](https://kotlinlang.org/) 100%, [Coroutines](https://github.com/Kotlin/kotlinx.coroutines),\n  [Flow](https://kotlinlang.org/docs/flow.html)\n\n### Preview\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"data/vokoscreen-2021-05-27_10-53-31.gif\" width=\"32%\"/\u003e\n\u003cimg src=\"data/vokoscreen-2021-05-27_10-50-27.gif\" width=\"32%\"/\u003e\n\u003cimg src=\"data/vokoscreen-2021-06-01_16-25-26.gif\" width=\"32%\"/\u003e\n\u003c/p\u003e\n\n### Libraries\n\n* Accompanist\n    * [Accompanist Insets](https://google.github.io/accompanist/insets/)\n    * [Glide for Jetpack Compose](https://google.github.io/accompanist/glide/)\n    * [Swipe Refresh](https://google.github.io/accompanist/swiperefresh/)\n* Jetpack Compose\n    * [Compose Material Components](https://mvnrepository.com/artifact/androidx.compose.material/material)\n    * [Material Icons Extended by Infragistics](https://github.com/IgniteUI/material-icons-extended)\n    * [Compose UI Primitives](https://developer.android.com/jetpack/androidx/releases/compose-ui)\n    * [Compose Layouts](https://mvnrepository.com/artifact/androidx.compose.foundation/foundation-layout)\n    * [ConstraintLayout Compose](https://developer.android.com/jetpack/androidx/releases/constraintlayout)\n    * [Paging Compose](https://developer.android.com/jetpack/androidx/releases/paging)\n    * [Compose tooling](https://developer.android.com/jetpack/compose/tooling)\n    * [Navigation Compose Hilt Extension](https://mvnrepository.com/artifact/androidx.hilt/hilt-navigation-compose)\n* Di\n    * [Hilt Compiler](https://developer.android.com/training/dependency-injection/hilt-jetpack#workmanager)\n    * [Hilt Android](https://mvnrepository.com/artifact/com.google.dagger/hilt-android)\n    * [Hilt Processor](https://mvnrepository.com/artifact/com.google.dagger/hilt-compiler)\n* Retrofit2 \u0026 OkHttp3\n    * [Converter: Gson](https://mvnrepository.com/artifact/com.squareup.retrofit2/converter-gson)\n    * [Retrofit](https://mvnrepository.com/artifact/com.squareup.retrofit2/retrofit)\n    * [OkHttp Logging Interceptor](https://mvnrepository.com/artifact/com.squareup.okhttp3/logging-interceptor)\n* Room\n    * [Android Room Runtime](https://mvnrepository.com/artifact/androidx.room/room-runtime)\n    * [Android Room Kotlin Extensions](https://mvnrepository.com/artifact/androidx.room/room-ktx)\n    * [Android Room Compiler](https://mvnrepository.com/artifact/androidx.room/room-compiler)\n* Security\n    * [Crypto](https://developer.android.com/jetpack/androidx/releases/security)\n* Test\n    * [JUnit](https://mvnrepository.com/artifact/junit/junit)\n    * [MockWebServer](https://github.com/square/okhttp/tree/master/mockwebserver)\n    * [Mockito](https://github.com/mockito/mockito)\n    * [UI Test Junit4](https://developer.android.com/jetpack/compose/testing#setup)\n    * [UI Test Manifest](https://developer.android.com/jetpack/compose/testing#setup)\n* Other\n    * [Material Components For Android](https://mvnrepository.com/artifact/com.google.android.material/material)\n    * [Timber](https://mvnrepository.com/artifact/com.jakewharton.timber/timber)\n    * [Android App Startup Runtime](https://mvnrepository.com/artifact/androidx.startup/startup-runtime)\n    * [Dokka](https://github.com/Kotlin/dokka)\n    * [Kotlin multiplatform serialization](https://github.com/Kotlin/kotlinx.serialization)\n    * [Custom Tabs]( https://developer.chrome.com/docs/android/custom-tabs/overview/)\n    * [Kotlinx DateTime](https://github.com/Kotlin/kotlinx-datetime)\n    * [Paging](https://developer.android.com/jetpack/androidx/releases/paging)\n    * [Core Kotlin Extensions](https://developer.android.com/kotlin/ktx#core)\n\n# License\n\n```\nCopyright 2021 Vitaliy Zarubin\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeygenqt%2Fandroid-githubviewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkeygenqt%2Fandroid-githubviewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeygenqt%2Fandroid-githubviewer/lists"}