{"id":19688155,"url":"https://github.com/behrad-kzm/quizer","last_synced_at":"2025-04-29T08:34:26.438Z","repository":{"id":164166899,"uuid":"158683757","full_name":"behrad-kzm/Quizer","owner":"behrad-kzm","description":"a quiz app with Clean architecture MVVM and RxSwift","archived":false,"fork":false,"pushed_at":"2019-03-15T08:25:36.000Z","size":2158,"stargazers_count":30,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-05T14:03:47.912Z","etag":null,"topics":["clean","clean-architecture","example","generic","ios","mvvm","quiz","quizapp","rxalamofire","rxswift","rxtimer","swift","swift4","viper"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/behrad-kzm.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-22T10:41:46.000Z","updated_at":"2024-06-04T18:40:45.000Z","dependencies_parsed_at":"2023-05-28T03:30:18.977Z","dependency_job_id":null,"html_url":"https://github.com/behrad-kzm/Quizer","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/behrad-kzm%2FQuizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/behrad-kzm%2FQuizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/behrad-kzm%2FQuizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/behrad-kzm%2FQuizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/behrad-kzm","download_url":"https://codeload.github.com/behrad-kzm/Quizer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251465159,"owners_count":21593836,"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":["clean","clean-architecture","example","generic","ios","mvvm","quiz","quizapp","rxalamofire","rxswift","rxtimer","swift","swift4","viper"],"created_at":"2024-11-11T18:37:07.879Z","updated_at":"2025-04-29T08:34:26.424Z","avatar_url":"https://github.com/behrad-kzm.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quiz Application using Clean architecture, MVVM and RxSwift\n\n### Installing and build\n\nDependencies in this project are provided via Cocoapods. Please install all dependecies with\n\n`\npod install\n`\n\n#### Build sequence:\n\n`\nDomain \u003e NetworkPlatform \u003e Application \n`\n\n## High level overview\n![](https://raw.githubusercontent.com/sergdort/CleanArchitectureRxSwift/master/Architecture/Modules.png)\n\n#### Domain \n\nThe `Domain` is basically what is the App about and what it can do (Entities, UseCase etc.) **It does not depend on UIKit or any persistence framework**, and it doesn't have implementations apart from entities\n\n#### Platform\n\nThe `Platform` is a concrete implementation of the `Domain` in a specific platform like iOS. It does hide all implementation details.\n\n#### Application\n`Application` is responsible for delivering information to the user and handling user input. It can be implemented with any delivery pattern e.g (in quiz app is MVVM). This is the place for `UIView`s and `UIViewController`s. As you will see from the quiz app, `ViewControllers` are completely independent of the `Platform`.  The only responsibility of a view controller is to \"bind\" the UI to the Domain to make things happen.\n\n### Refrences\n* [RxSwift](https://github.com/ReactiveX/RxSwift)\n* [RxSwift Book](https://store.raywenderlich.com/products/rxswift)\n* [Robert C Martin - Clean Architecture and Design](https://www.youtube.com/watch?v=Nsjsiz2A9mg)\n* [Cycle.js](https://cycle.js.org)\n* [ViewModel](https://medium.com/@SergDort/viewmodel-in-rxswift-world-13d39faa2cf5#.qse37r6jw) in Rx world\n\n### Contact me\n\n* feel free to contact by [Email](mailto://behrad.kzm@gmail.com)\n* or send me message on [Telegram](https://t.me/berad)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbehrad-kzm%2Fquizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbehrad-kzm%2Fquizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbehrad-kzm%2Fquizer/lists"}