{"id":13473710,"url":"https://github.com/burakeregar/KotlinMvpArchitecture","last_synced_at":"2025-03-26T19:34:36.915Z","repository":{"id":204055697,"uuid":"92186132","full_name":"burakeregar/KotlinMvpArchitecture","owner":"burakeregar","description":"Clean MVP Architecture with Dagger2 + Retrofit2 + Mockito + Fresco + EasiestGenericRecyclerAdapter using Kotlin. Added Unit Tests(Kotlin Tests)!","archived":false,"fork":false,"pushed_at":"2017-11-28T22:14:55.000Z","size":163,"stargazers_count":139,"open_issues_count":0,"forks_count":34,"subscribers_count":13,"default_branch":"master","last_synced_at":"2024-10-30T06:33:20.540Z","etag":null,"topics":["android-testing","android-tests","clean-architecture","dagger2","dagger2-mvp","kotlin","kotlin-android","kotlintest","leakcanary","mvp","mvp-android","mvp-architecture","mvp-clean","mvp-pattern","retrofit","retrofit2","unit-test","unit-testing","unittest","unittesting"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/burakeregar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2017-05-23T15:01:55.000Z","updated_at":"2024-07-26T13:44:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"36b3dff9-dc5a-49bf-9b39-8d063e5a1811","html_url":"https://github.com/burakeregar/KotlinMvpArchitecture","commit_stats":null,"previous_names":["burakeregar/kotlinmvparchitecture"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/burakeregar%2FKotlinMvpArchitecture","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/burakeregar%2FKotlinMvpArchitecture/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/burakeregar%2FKotlinMvpArchitecture/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/burakeregar%2FKotlinMvpArchitecture/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/burakeregar","download_url":"https://codeload.github.com/burakeregar/KotlinMvpArchitecture/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245722901,"owners_count":20661848,"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-testing","android-tests","clean-architecture","dagger2","dagger2-mvp","kotlin","kotlin-android","kotlintest","leakcanary","mvp","mvp-android","mvp-architecture","mvp-clean","mvp-pattern","retrofit","retrofit2","unit-test","unit-testing","unittest","unittesting"],"created_at":"2024-07-31T16:01:06.165Z","updated_at":"2025-03-26T19:34:35.601Z","avatar_url":"https://github.com/burakeregar.png","language":"Kotlin","funding_links":[],"categories":["Kotlin"],"sub_categories":[],"readme":"# KotlinMvpArchitecture\nClean MVP Architecture with Dagger2 + Retrofit2 + Mockito + Fresco + EasiestGenericRecyclerAdapter + EventBus + Anko using Kotlin. \n\nNote: If you would like to use RxJava, [you can check this repo.](https://github.com/burakeregar/KotlinRxMvpArchitecture)\n\nThis repo contains demo module which retrieves mars images from the NASA API. The main purpose of the repo is to reduce the time spent on starting a new project or adding new modules to your existing project. You can add new modules with just 2-3 clicks without writing any code. I have developed an Android Studio template for it. [You can check that KotlinMvpTemplateGenerator from here.](https://github.com/burakeregar/KotlinMvpTemplateGenerator)\n\nI have separated activity dependencies/components from AppComponent to avoid conflicts. KotlinMvpTemplate generates all of required dependency classes, presenters etc. for each module automatically.\n\n### UPDATE\nUnit Tests are added!\n\n**Mockito:** a mocking framework for unit tests\n\n**EventBus** for handling click events \u0026 passing your models in viewholders or activities.\n\n**Stetho** is a sophisticated debug bridge for Android applications. When enabled, developers have access to the Chrome Developer Tools \nfeature natively part of the Chrome desktop browser. You should just type browser chrome://inspect then you can watch network traffic.\n\n**LeakCanary** is a memory leak detection library for Android and Java. \n\n**LoggingInterceptor** for watching network traffic from Android Studio's Logcat\n\n**SpHelper** for saving your models to Shared Preferences easily.\n\n**Cache** for caching your get requests for a while. (Default cache time is 1 min)\n\n\n### STARTING NEW PROJECT\nIf you start to develop new project, you can clone this repo to your computer. You just need to rename packages. Now, you are ready! You can start developing your modules.\n\n![](https://github.com/burakeregar/KotlinMvpTemplateGenerator/blob/master/art/mvp_template.gif)\n\n### LICENSE\n\nMIT License\n\nCopyright (c) 2017 Burak Eregar\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fburakeregar%2FKotlinMvpArchitecture","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fburakeregar%2FKotlinMvpArchitecture","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fburakeregar%2FKotlinMvpArchitecture/lists"}