{"id":16558762,"url":"https://github.com/pengmaster/kotlin_mvp_template","last_synced_at":"2025-09-05T03:41:44.935Z","repository":{"id":143248474,"uuid":"150819777","full_name":"pengMaster/Kotlin_Mvp_Template","owner":"pengMaster","description":":shipit: Kotlin+Mvp+Retrofit2+Rxjava2","archived":false,"fork":false,"pushed_at":"2018-09-30T08:22:44.000Z","size":8126,"stargazers_count":65,"open_issues_count":0,"forks_count":15,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-08-18T08:42:33.709Z","etag":null,"topics":["gilde","koltin","logger","mvp","retrofit2","rxjava2","smartrefreshlayout"],"latest_commit_sha":null,"homepage":"","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/pengMaster.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}},"created_at":"2018-09-29T03:17:04.000Z","updated_at":"2024-07-15T09:45:37.000Z","dependencies_parsed_at":"2023-06-30T00:16:46.230Z","dependency_job_id":null,"html_url":"https://github.com/pengMaster/Kotlin_Mvp_Template","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pengMaster/Kotlin_Mvp_Template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pengMaster%2FKotlin_Mvp_Template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pengMaster%2FKotlin_Mvp_Template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pengMaster%2FKotlin_Mvp_Template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pengMaster%2FKotlin_Mvp_Template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pengMaster","download_url":"https://codeload.github.com/pengMaster/Kotlin_Mvp_Template/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pengMaster%2FKotlin_Mvp_Template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273708976,"owners_count":25153728,"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","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"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":["gilde","koltin","logger","mvp","retrofit2","rxjava2","smartrefreshlayout"],"created_at":"2024-10-11T20:23:39.167Z","updated_at":"2025-09-05T03:41:39.919Z","avatar_url":"https://github.com/pengMaster.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eA good framework is one that suits the team\n\n\n\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"README_CN.md\"\u003e\n    \u003cb\u003eChinese Description\u003c/b\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\n### 1.project brief\nThis project is a lightweight template project based on kotlin + Mvp + Rxjava + Retrofit package without too much redundant dependencies, suitable for rapid development as well as novice training。\n\n### 2.directory structure\n```\n├── .gradle\n├── .idea\n├── app.main.java.package\n│   ├── api                 Configure the request address\n│   ├── base                base packaging\n│   ├── glide               Image loading frame\n│   ├── net                 Network request framework configuration\n│   ├── rx                  rxjava configuration\n│   ├── mvp\n│   │    └── contract       view and presenter Implement method interface\n│   │    └── model          Data loading layer\n│   │    └── presenter      Logical processing layer (data loading page display)\n│   ├── ui\n│   │    └── activity       activity\n│   │    └── adapter        adapter\n│   │    └── fragment       fragment\n│   ├── utils               utils\n│   ├── view                view widget\n│   ├── Constants.kt        Constants\n│   ├── Extensions.kt       Extensions\n│   ├── MyApplication.kt    Application\n├── build\n├── gradle\n├── build.gradle\n├── settings.gradle\n\n```\n\n### 3.scheme\n\n\u003cdiv \u003e\n\u003cimg src=\"https://github.com/pengMaster/picApplyGit/blob/master/KotlinMvp/Architecture.png\"   alt=\"引自MvpArms\"/\u003e\n\u003c/div\u003e\n\n### 4.choosing technology\n\n| MvpArms   | KotlinMvpTemplate    |\n| :----: | :----:   |\n|   Mvp+Rxjava+Retrofit+Dagger+modularization    |   Kotlin+Mvp+Rxjava+Retrofit    |\n|   Easy to use, there are one-click generation tools, too much redundant code, not suitable for rapid development   |   Easy to use, suitable for rapid development and novice |  \n|   Mature framework    |   VMCPP    |  \n|   Java     | Kotlin      |  \n\n```\nWhy is it compared with MvpArms? This simple framework is only a basic framework, there is no necessity of comparing with other framework, but used for a period of time before MvpArms, also learned a lot from this, but not all the company projects are big projects, could face the demand of the rapid development, all MvpArms some function is not very suitable for the framework of team framework is good\n\n```\n\n### 5.technical essential\n\nThe main third-party open source frameworks used are：\n\n - [RxJava](https://github.com/ReactiveX/RxJava)\n - [RxAndroid](https://github.com/ReactiveX/RxAndroid)\n - [Retrofit](https://github.com/square/retrofit)\n - [Glide](https://github.com/bumptech/glide)\n - [Logger](https://github.com/orhanobut/logger)\n - [SmartRefreshLayout](https://github.com/scwang90/SmartRefreshLayout)\n\n\n### 6.update\n\n- Add Dagger2 and the redundant code is replaced with tags\n- Open one-click generation of the serve-model-presenter tool\n\n\n### 7.Simple rendering\n\n\u003cdiv \u003e\n    \u003cimg src=\"https://github.com/pengMaster/picApplyGit/blob/master/KotlinMvp/device-2018-09-28-164014.jpg\" width=\"150\" height=\"250\"  alt=\"\"/\u003e\n    \u003cimg src=\"https://github.com/pengMaster/picApplyGit/blob/master/KotlinMvp/device-2018-09-28-164110.jpg\" width=\"150\" height=\"250\"  alt=\"\"/\u003e\n    \u003cimg src=\"https://github.com/pengMaster/picApplyGit/blob/master/KotlinMvp/device-2018-09-28-164920.jpg\" width=\"150\" height=\"250\" alt=\"\"/\u003e\n    \u003cimg src=\"https://github.com/pengMaster/picApplyGit/blob/master/KotlinMvp/device-2018-09-29-100403.jpg\" width=\"150\" height=\"250\"  alt=\"\"/\u003e\n   \u003cimg src=\"https://github.com/pengMaster/picApplyGit/blob/master/KotlinMvp/device-2018-09-29-144929.jpg\" width=\"150\" height=\"250\"  alt=\"\"/\u003e\n\u003c/div\u003e\n\nThe project function is relatively simple, just a simple picture display. Currently, the project encapsulates the following points:\n- network request RetrofitManager encapsulation\n- network request loading - failure - success MultipleStatusView is a tool that works well\n- Base Base class activity - fragment - adapter\n- glide encapsulation\n- rxjava encapsulation\n- various tool classes encapsulation\n- shape and gradient graphics encapsulation\n- animation encapsulation\n\n### 8.particular thanks\n\n - [MvpArms](https://github.com/JessYanCoding/MVPArms)\n - [KotlinMvp](https://github.com/git-xuhao/KotlinMvp)\n\n### 9.project address\n\n - [Your Star and Fork are my eternal quest](https://github.com/pengMaster/Kotlin_Mvp_Template)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpengmaster%2Fkotlin_mvp_template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpengmaster%2Fkotlin_mvp_template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpengmaster%2Fkotlin_mvp_template/lists"}