[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-7269":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":35,"readmeContent":36,"aiSummary":37,"trendingCount":16,"starSnapshotCount":16,"syncStatus":38,"lastSyncTime":39,"discoverSource":40},7269,"Android-CleanArchitecture-Kotlin","android10\u002FAndroid-CleanArchitecture-Kotlin","android10","This is a movies sample app in Kotlin, which is part of a serie of blog posts I have written about architecting android application using different approaches.","https:\u002F\u002Ffernandocejas.com\u002F2018\u002F05\u002F07\u002Farchitecting-android-reloaded\u002F",null,"Kotlin",4815,934,153,72,0,1,3,30.91,false,"main",true,[24,25,26,27,28,29,30,31,32,33,34],"android","android-cleanarchitecture-kotlin","android-development","architectural","architectural-patterns","clean-architecture","functional-programming","kotlin","kotlin-android","lessons-learned","mobile-development","2026-06-12 02:01:37","![banner](https:\u002F\u002Fuser-images.githubusercontent.com\u002F37318022\u002F40349145-3e0c8d8a-5dd8-11e8-8654-5784f9ab7554.png)\n\n# STATUS: Refactoring! Please check the TODOs below in the **project status section**.\n\n# Android - Clean Architecture - Kotlin [![Build Status](https:\u002F\u002Ftravis-ci.org\u002Fandroid10\u002FAndroid-CleanArchitecture-Kotlin.svg?branch=main)](https:\u002F\u002Ftravis-ci.org\u002Fandroid10\u002FAndroid-CleanArchitecture-Kotlin) [![codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fandroid10\u002FAndroid-CleanArchitecture-Kotlin\u002Fbranch\u002Fmain\u002Fgraph\u002Fbadge.svg?token=x1AtDcNuDv)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fandroid10\u002FAndroid-CleanArchitecture-Kotlin)\nThe purpose of this repo is to follow up Clean Architecture principles by bringing them to Android. It is worth saying that the idea is to take advantage of the Kotlin Programming Language features plus also pull in lessons learned and ideas from other interesting approaches like Functional Programming.\n\n## Project Status\n\n - **Last Update: 2024.08**\n   - WIP: Migrate to Kotlin 2.0.\n   - WIP: Migrate to Jetpack Compose.\n   - TODO: Bug Fixes.\n   - TODO: Reorganize and cleanup tests.\n   - TODO: Reorganize dependencies and build system. \n\n## Blog post with implementation details explanation:\n[Architecting Android… Reloaded](https:\u002F\u002Ffernandocejas.com\u002F2018\u002F05\u002F07\u002Farchitecting-android-reloaded\u002F)\n\n## Android - Clean Architecture - Java:\nThere is another Android Clean Architecture repository written in Java: https:\u002F\u002Fgithub.com\u002Fandroid10\u002FAndroid-CleanArchitecture with really nice discussions: https:\u002F\u002Fgithub.com\u002Fandroid10\u002FAndroid-CleanArchitecture\u002Fissues.\nArticle, lessons learned and some more material coming up. Check the following known bugs and TODO list. \n\n## Other material worth reading:\n\n[Architecting Android…The clean way?](http:\u002F\u002Ffernandocejas.com\u002F2014\u002F09\u002F03\u002Farchitecting-android-the-clean-way\u002F)\n\n[Architecting Android…The evolution](http:\u002F\u002Ffernandocejas.com\u002F2015\u002F07\u002F18\u002Farchitecting-android-the-evolution\u002F)\n\n[Tasting Dagger 2 on Android](http:\u002F\u002Ffernandocejas.com\u002F2015\u002F04\u002F11\u002Ftasting-dagger-2-on-android\u002F)\n\n[Clean Architecture…Dynamic Parameters in Use Cases](http:\u002F\u002Ffernandocejas.com\u002F2016\u002F12\u002F24\u002Fclean-architecture-dynamic-parameters-in-use-cases\u002F)\n\n### ----------------------------------------------------------------------------------------------\n\n## Sample app\n![](https:\u002F\u002Fuser-images.githubusercontent.com\u002F1360604\u002F31345866-679a221a-ad17-11e7-8097-7800edb677fa.gif)\n\n### ----------------------------------------------------------------------------------------------\n\n## Clean Architecture\n![https:\u002F\u002Ffernandocejas.com\u002F2018\u002F05\u002F07\u002Farchitecting-android-reloaded\u002F](https:\u002F\u002Fgithub.com\u002Fandroid10\u002FSample-Data\u002Fblob\u002Fmaster\u002FAndroid-CleanArchitecture-Kotlin\u002Farchitecture\u002Fclean_architecture_reloaded_main.png)\n\n### ----------------------------------------------------------------------------------------------\n\n## Android 3 Layers Architecture\n![https:\u002F\u002Ffernandocejas.com\u002F2018\u002F05\u002F07\u002Farchitecting-android-reloaded\u002F](https:\u002F\u002Fgithub.com\u002Fandroid10\u002FSample-Data\u002Fblob\u002Fmaster\u002FAndroid-CleanArchitecture-Kotlin\u002Farchitecture\u002Fclean_architecture_reloaded_layers.png)\n\n### ----------------------------------------------------------------------------------------------\n\n## UI Layer: MVVM \n![https:\u002F\u002Ffernandocejas.com\u002F2018\u002F05\u002F07\u002Farchitecting-android-reloaded\u002F](https:\u002F\u002Fgithub.com\u002Fandroid10\u002FSample-Data\u002Fblob\u002Fmaster\u002FAndroid-CleanArchitecture-Kotlin\u002Farchitecture\u002Fclean_architecture_reloaded_mvvm_app.png)\n\n### ----------------------------------------------------------------------------------------------\n\n## Data Layer: Repository \n![https:\u002F\u002Ffernandocejas.com\u002F2018\u002F05\u002F07\u002Farchitecting-android-reloaded\u002F](https:\u002F\u002Fgithub.com\u002Fandroid10\u002FSample-Data\u002Fblob\u002Fmaster\u002FAndroid-CleanArchitecture-Kotlin\u002Farchitecture\u002Fclean_archictecture_reloaded_repository.png)\n\n### ----------------------------------------------------------------------------------------------\n\n## Local Development\nHere are some useful Gradle\u002Fadb commands for executing this example:\n\n * `.\u002Fgradlew runApp` - Builds and install the debug apk on the current connected device.\n * `.\u002Fgradlew compileApp` - Builds the debug apk.\n * `.\u002Fgradlew runUnitTests` - Execute unit tests (both unit and integration).\n * `.\u002Fgradlew runAcceptanceTests` - Execute acceptance and instrumentation tests in the connected device.\n * `.\u002Fgradlew runTestCoverage` - Reports code coverage on tests within the Android codebase.\n * `.\u002Fgradlew runStaticCodeAnalysis` - Run static analysis on the Android codebase.\n \n## Discussions\nRefer to the issues section: https:\u002F\u002Fgithub.com\u002Fandroid10\u002FAndroid-CleanArchitecture-Kotlin\u002Fissues\n \n## License\n\n    Copyright 2024 Fernando Cejas\n\n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n\n       http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n\n\n![https:\u002F\u002Ffernandocejas.com](https:\u002F\u002Fgithub.com\u002Fandroid10\u002FSample-Data\u002Fblob\u002Fmaster\u002Fandroid10\u002Fandroid10_logo_big.png)\n\n\u003Ca href=\"https:\u002F\u002Fwww.buymeacoffee.com\u002Fandroid10\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fwww.buymeacoffee.com\u002Fassets\u002Fimg\u002Fcustom_images\u002Forange_img.png\" alt=\"Buy Me A Coffee\" style=\"height: auto !important;width: auto !important;\" >\u003C\u002Fa>\n","这是一个使用Kotlin编写的电影示例应用，旨在展示如何通过不同的方法来构建遵循Clean Architecture原则的Android应用程序。项目的核心功能包括利用Kotlin语言特性及函数式编程思想实现模块化和解耦的设计，支持持续集成与代码覆盖率检测。它非常适合于那些希望学习或实践在Android开发中如何应用Clean Architecture模式、提高代码可维护性和测试性的开发者。此外，该项目还提供了一系列相关博客文章链接，帮助读者深入理解背后的架构理念和技术细节。",2,"2026-06-11 03:11:30","top_language"]