{"id":13465274,"url":"https://github.com/onl1ner/ios-mvp-template","last_synced_at":"2025-06-13T10:09:37.576Z","repository":{"id":111936036,"uuid":"387157206","full_name":"onl1ner/ios-mvp-template","owner":"onl1ner","description":"🛠 A flexible and easy template created to speed up the development of your iOS application based on the MVP pattern.","archived":false,"fork":false,"pushed_at":"2022-02-18T17:13:42.000Z","size":24,"stargazers_count":27,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-13T10:08:21.771Z","etag":null,"topics":["architecture","builder","code-generation","code-generator","generation","ios","ios-mvp","ios-mvp-architecture","model","mvp","pattern","presenter","router","swift","template","templates","view","xcode","xcode-template","xcode-templates"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/onl1ner.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-07-18T11:16:47.000Z","updated_at":"2025-05-15T18:43:14.000Z","dependencies_parsed_at":"2023-04-12T19:47:27.221Z","dependency_job_id":null,"html_url":"https://github.com/onl1ner/ios-mvp-template","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/onl1ner/ios-mvp-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onl1ner%2Fios-mvp-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onl1ner%2Fios-mvp-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onl1ner%2Fios-mvp-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onl1ner%2Fios-mvp-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/onl1ner","download_url":"https://codeload.github.com/onl1ner/ios-mvp-template/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onl1ner%2Fios-mvp-template/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259624737,"owners_count":22886330,"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":["architecture","builder","code-generation","code-generator","generation","ios","ios-mvp","ios-mvp-architecture","model","mvp","pattern","presenter","router","swift","template","templates","view","xcode","xcode-template","xcode-templates"],"created_at":"2024-07-31T15:00:25.533Z","updated_at":"2025-06-13T10:09:37.544Z","avatar_url":"https://github.com/onl1ner.png","language":"Swift","funding_links":[],"categories":["Boilerplates"],"sub_categories":["Third party Guides"],"readme":"\u003cimg align=\"right\" src=\"https://github.com/onl1ner/onl1ner/blob/master/Resources/ios-mvp-template/Xcode.png?raw=true\" width=\"230\"/\u003e\n\n\u003cp\u003e\u003ch1 align=\"left\"\u003eModel-View-Presenter template\u003c/h1\u003e\u003c/p\u003e\n\n![](https://img.shields.io/badge/platform-iOS-lightgrey)\n![](https://img.shields.io/github/license/onl1ner/ios-mvp-template)\n![](https://img.shields.io/badge/Swift-5-orange?logo=Swift\u0026logoColor=white)\n\nA flexible and easy template created to speed up the development of your iOS application based on the MVP pattern. This template generates all the important components of the MVP pattern, including the Builder. \n\n## Table of contents\n\n* [Installation](#installation)\n* [Usage](#usage)\n    * [Options](#options)\n    * [Structure](#structure)\n* [Contribution](#contribution)\n* [License](#license)\n\n## Installation\n\nYou may install this template either using a shell script, or manually, by copying the template to the template directory.\n\n### Shell\n\n- Just run this command in your terminal:\n\n    ```shell\n    $ sh install.sh\n    ```\n    \n### Manual\n\n- Open ```~/Library/Developer/Xcode/Templates/Architecture/``` and move \"MVP.xctemplate\" folder there. If you do not have ```Templates``` or ```Architecture``` folders you should create them.\n\n## Usage\n\nTo create a module using the template, click on \"New file...\" in the folder where you want to add the module. You may also use shortcut \u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003eN\u003c/kbd\u003e. Finally, find the MVP file in the Architecture section.\n\n### Options\n\nThis template provides several options so that you can flexibly configure your new modules. Let's look at each in detail.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/onl1ner/onl1ner/blob/master/Resources/ios-mvp-template/Options.png?raw=true\"/\u003e\n\u003c/p\u003e\n\n- **Module:** this field simply describes the module name.\n- **Storyboad based:** this field is used to determine whether your view is built in Storyboard.\n- **Subclass of:** in this field, you must choose from which class your View should inherit from.\n- **Also create XIB file for user interface:** if checkbox is checked XIB file will be created inside your module.\n- **Also create Router file:** if checkbox is checked your module will have Router class.\n\n### Structure\n\nAfter creating the module, you will see that several files were created based on your choice. Unfortunately, folder structuring is only available for Project templates, so all files will be created in one folder.\n\n## Contribution\n\nIf you struggle with something feel free to [open an issue](https://github.com/onl1ner/ios-mvp-template/issues/new). Pull requests are also appreciated.\n\n## License\nThis template is under the terms and conditions of the MIT license.\n\n```\nMIT License\n\nCopyright (c) 2022 Tamerlan Satualdypov\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonl1ner%2Fios-mvp-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fonl1ner%2Fios-mvp-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonl1ner%2Fios-mvp-template/lists"}