{"id":21396326,"url":"https://github.com/ferhatozcelik/ezlo_case_study","last_synced_at":"2026-05-20T19:32:42.479Z","repository":{"id":186277371,"uuid":"674618202","full_name":"ferhatozcelik/ezlo_case_study","owner":"ferhatozcelik","description":"This is an Android project template that demonstrates the use of the MVVM (Model-View-ViewModel) architecture along with modern Android architecture components. It provides a structured starting point for building Android applications that are maintainable, testable, and scalable.","archived":false,"fork":false,"pushed_at":"2023-08-05T17:03:10.000Z","size":29848,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-23T02:11:24.797Z","etag":null,"topics":["android","mvvm--mvvm-sample","mvvm-architecture","mvvm-sample"],"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/ferhatozcelik.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":"2023-08-04T11:34:04.000Z","updated_at":"2023-09-14T20:41:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"d3fe8d83-61dc-4953-8bf2-fefa0e200585","html_url":"https://github.com/ferhatozcelik/ezlo_case_study","commit_stats":null,"previous_names":["ferhatozcelik/ezlo_case_study"],"tags_count":0,"template":false,"template_full_name":"ferhatozcelik/android-mvvm-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ferhatozcelik%2Fezlo_case_study","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ferhatozcelik%2Fezlo_case_study/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ferhatozcelik%2Fezlo_case_study/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ferhatozcelik%2Fezlo_case_study/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ferhatozcelik","download_url":"https://codeload.github.com/ferhatozcelik/ezlo_case_study/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243885887,"owners_count":20363644,"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","mvvm--mvvm-sample","mvvm-architecture","mvvm-sample"],"created_at":"2024-11-22T14:26:23.946Z","updated_at":"2026-05-20T19:32:42.431Z","avatar_url":"https://github.com/ferhatozcelik.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ezlo Case Study\n\n### Project Architecture\n\nThis app uses [MVVM (Model View View-Model)] architecture.\n\n### ScreenShot\n\n\u003cimg src=\"screenshot/screenshot_01.png\" width=\"280\" height=\"600\"\u003e  \u003cimg src=\"screenshot/screenshot_02.png\" width=\"280\" height=\"600\"\u003e\n\n\u003cimg src=\"screenshot/screenshot_03.gif\" width=\"280\" height=\"600\"\u003e \n\n### Download\nhttps://github.com/ferhatozcelik/ezlo_case_study/raw/master/debug/app-debug.apk\n\n### MVVM (Model View View-Model)\n  MVVM stands for \"Model-View-ViewModel\" and it is an architectural pattern used in Android app development. Here's a brief explanation of each component:\n\n- Model: The Model represents the data and business logic of the application. It can include data structures, databases, APIs, or any other data-related logic. The Model should be independent of the user interface and the View.\n- View: The View represents the user interface elements of the application. It displays the data from the Model and interacts with the user. In Android, it typically consists of XML layout files and UI components like TextViews, Buttons, RecyclerViews, etc.\n- ViewModel: The ViewModel acts as an intermediary between the Model and the View. It is responsible for exposing the data from the Model to the View in a format that the View can easily consume. The ViewModel also contains the presentation logic and handles user interactions. It should not hold references to the View, making it independent of the UI framework.\n\nMVVM promotes separation of concerns and makes the code more maintainable, testable, and scalable. It also facilitates data binding, where changes in the ViewModel are automatically reflected in the View and vice versa.\nIn Android development, MVVM is often implemented using frameworks like LiveData for data observation and Data Binding for connecting the View and ViewModel.\n\n\n### Build With 🏗️\n\n- [Kotlin] - Programming language for Android\n- [Hilt-Dagger] - Standard library to incorporate Dagger dependency injection into an Android\n  application.\n- [Retrofit] - A type-safe HTTP client for Android and Java.\n- [Room] - SQLite object mapping library.\n- [Coroutines] - For asynchronous\n- [LiveData] - Data objects that notify views when the underlying database changes.\n- [ViewModel] - Stores UI-related data that isn't destroyed on UI changes.\n- [ViewBinding] - Generates a binding class for each XML layout file present in that module and\n  allows you to more easily write code that interacts with views.\n- [Jetpack Navigation] - Navigation refers to the interactions that allow users to navigate across,\n  into, and back out from the different pieces of content within your app\n\n  [ViewModel]: \u003chttps://developer.android.com/topic/libraries/architecture/viewmodel\u003e\n\n  [Jetpack Navigation]: \u003chttps://developer.android.com/guide/navigation/\u003e\n\n  [Hilt-Dagger]: \u003chttps://dagger.dev/hilt/\u003e\n\n  [DataStore]: \u003chttps://developer.android.com/topic/libraries/architecture/datastore\u003e\n\n  [ViewBinding]: \u003chttps://developer.android.com/topic/libraries/view-binding\u003e\n\n  [LiveData]: \u003chttps://developer.android.com/topic/libraries/architecture/livedata/\u003e\n\n  [Retrofit]: \u003chttps://square.github.io/retrofit/\u003e\n\n  [ViewModel]: \u003chttps://developer.android.com/topic/libraries/architecture/viewmodel\u003e\n\n  [Kotlin]: \u003chttps://kotlinlang.org\u003e\n\n  [Coroutines]: \u003chttps://kotlinlang.org/docs/coroutines-overview.html\u003e\n\n  [MVVM (Model View View-Model)]: \u003chttps://developer.android.com/jetpack/guide#recommended-app-arch\u003e\n\n  [Dictionary Api]: \u003chttps://api.dictionaryapi.dev/\u003e\n\n  [Room]: \u003chttps://developer.android.com/training/data-storage/room/\u003e\n\n\n\n### Author\n👤 Ferhat OZCELIK\nGithub: @ferhatozcelik\nLinkedIn:https://www.linkedin.com/in/ferhatozcelik/\n\n### License\n\nCopyright © 2022 Ferhat OZCELIK.\nThis project is Apache License, Version 2.0 (the \"License\") licensed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fferhatozcelik%2Fezlo_case_study","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fferhatozcelik%2Fezlo_case_study","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fferhatozcelik%2Fezlo_case_study/lists"}