{"id":19687575,"url":"https://github.com/bobgodwinx/coordinatorpattern","last_synced_at":"2025-11-22T04:03:07.132Z","repository":{"id":91407470,"uuid":"189872545","full_name":"bobgodwinx/CoordinatorPattern","owner":"bobgodwinx","description":"Coordinator pattern combined with MVVM architecture, functional programming supported by RxSwift in iOS Swift App","archived":false,"fork":false,"pushed_at":"2019-06-02T21:31:52.000Z","size":3857,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-27T09:53:31.989Z","etag":null,"topics":["coordinator","design-patterns","functional-programming","ios","mvvm-architecture","rxcocoa","rxswift","swift"],"latest_commit_sha":null,"homepage":"","language":"Swift","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/bobgodwinx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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":"2019-06-02T16:56:08.000Z","updated_at":"2021-02-05T02:39:30.000Z","dependencies_parsed_at":"2024-04-22T10:16:33.474Z","dependency_job_id":null,"html_url":"https://github.com/bobgodwinx/CoordinatorPattern","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bobgodwinx/CoordinatorPattern","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobgodwinx%2FCoordinatorPattern","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobgodwinx%2FCoordinatorPattern/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobgodwinx%2FCoordinatorPattern/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobgodwinx%2FCoordinatorPattern/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bobgodwinx","download_url":"https://codeload.github.com/bobgodwinx/CoordinatorPattern/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobgodwinx%2FCoordinatorPattern/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285731799,"owners_count":27222214,"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-11-22T02:00:05.934Z","response_time":64,"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":["coordinator","design-patterns","functional-programming","ios","mvvm-architecture","rxcocoa","rxswift","swift"],"created_at":"2024-11-11T18:35:39.860Z","updated_at":"2025-11-22T04:03:07.108Z","avatar_url":"https://github.com/bobgodwinx.png","language":"Swift","readme":"# Coordinator Pattern\nThe Coordinator pattern helps us remove the job of app navigation from our `UIViewControllers`, making it manageable and  reusable, it also helps us to adjust our application flow as it best suites to our needs. \u003cbr\u003e\nIf you've been in a situation, where your view controllers became tightly coupled and dependent to each other, your navigation logic is scattered all over the app or you might have heard of the famous `Massive-view-controller` issue, then you are at the right place.\n\n## Scope\nThe scope of the is repository is put foward a pitch that may later be standardized as a good practice by the community as a way of handling these situations. This is absolutly a learning ground and everyone is welcome to contribute. \n\n## Architecture\nAt the beginning og the project I choose `MVVM` for a start, but this doesn't mean that other architectures aren't viable. Infact in the future this project is going to have all other type of architectures like `MVC`, `VIPER`  e.t.c\n\n## Storyboards and Xibs\nThe essence of coordinator pattern is to actually liberate you from the deep coupling from the `Storyboard` it's self and as such they are forbidden in this repository. \u003cbr\u003e I do understand that the coordinator pattern is also possible with  storyboards, there are many ways of doing this pattern, but we're only going to be focusing on creating everything programmatically without the help of  storyboards and xibs files.\n\n## Contribution guide\nAnyone interested is welcome to contribute to the project. I believe this will create a great opportunity to both experienced `Swift` engineer and also to people with little or no knowledge of about iOS, Swift or architectures in general. \u003cbr\u003e\nPlease kindly read the CONTRIBUTING.md file within the repository. The entire source code is available under the MIT license.\n\n## Credits \nThe coordinator pattern makes use of third party libraries [RxSwift](https://github.com/ReactiveX/RxSwift), [Kingfisher](https://github.com/onevcat/Kingfisher), [Quick](https://github.com/Quick/Quick), [Nimble](https://github.com/Quick/Nimble), [Raywenderlich style guide](https://github.com/raywenderlich/swift-style-guide) Their licenses are stored within their respective repositories. \u003cbr\u003e\nSwift, Swift logo, Xcode, iPhone are trademarks of Apple Inc., registered in the U.S. and other countries\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbobgodwinx%2Fcoordinatorpattern","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbobgodwinx%2Fcoordinatorpattern","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbobgodwinx%2Fcoordinatorpattern/lists"}