{"id":19208092,"url":"https://github.com/artcc/presentation-project","last_synced_at":"2025-09-23T03:27:15.304Z","repository":{"id":237420962,"uuid":"616540565","full_name":"ArtCC/presentation-project","owner":"ArtCC","description":"Presentation of a Swift project with UIKit using Clean Swift and unit tests","archived":false,"fork":false,"pushed_at":"2023-03-22T10:45:39.000Z","size":864,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-23T06:46:45.435Z","etag":null,"topics":["clean-architecture","clean-swift","code","presentation","swift","unit-testing"],"latest_commit_sha":null,"homepage":"https://github.com/ArtCC","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/ArtCC.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-03-20T15:31:11.000Z","updated_at":"2023-03-22T10:47:24.000Z","dependencies_parsed_at":"2024-05-01T16:27:04.546Z","dependency_job_id":"d20776e5-aee9-4484-9a92-5603c7b5456e","html_url":"https://github.com/ArtCC/presentation-project","commit_stats":null,"previous_names":["artcc/presentation-project"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ArtCC/presentation-project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArtCC%2Fpresentation-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArtCC%2Fpresentation-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArtCC%2Fpresentation-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArtCC%2Fpresentation-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ArtCC","download_url":"https://codeload.github.com/ArtCC/presentation-project/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArtCC%2Fpresentation-project/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276509079,"owners_count":25654849,"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-09-23T02:00:09.130Z","response_time":73,"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":["clean-architecture","clean-swift","code","presentation","swift","unit-testing"],"created_at":"2024-11-09T13:24:10.127Z","updated_at":"2025-09-23T03:27:15.287Z","avatar_url":"https://github.com/ArtCC.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Presentation of a Swift project with UIKit using Clean Swift and unit tests\n\nThe project I am presenting aims to show my current way of programming applications in Swift with UIKit. The architecture used in this case is Clean Swift with unit tests, which allows for greater ease and speed in the development and testing process.\n\nIt should be noted that the views are code-driven, which means that no storyboards or xibs are used in the implementation of the application. This approach allows for greater flexibility and better control over the user interface design.\n\nAlthough this is not a large project, the OpenWeatherMap public API is used to search for a city and display its name and current temperature. This is a practical example that illustrates how an external API can be integrated into a Swift application.\n\nIn terms of resource management, SwiftGen is used for the clean management of colours, images and text. In addition, SwiftLint is applied to ensure a correct implementation of the style guide. Although some parts are modified, Swift programming standards are followed.\n\nAs for the tools used in the project, Alamofire is used for network requests, but with a customised network manager. In normal projects, Git Flow is used, but in this case it does not apply.\n\nIn summary, this project presents an application implementation in Swift with UIKit using Clean Swift and unit tests. A public API is used to display the current temperature of a city and tools such as SwiftGen and SwiftLint are used for better resource management and style guide enforcement.\n\n# Presentación de proyecto en Swift con UIKit usando Clean Swift y test unitarios\n\nEl proyecto que presento tiene como objetivo mostrar mi actual forma de programar aplicaciones en Swift con UIKit. La arquitectura empleada en este caso es Clean Swift con test unitarios, lo que permite una mayor facilidad y rapidez en el proceso de desarrollo y pruebas.\n\nCabe destacar que las vistas están desarrolladas por código, lo que significa que no se utiliza storyboards ni xib en la implementación de la aplicación. Este enfoque permite una mayor flexibilidad y un mejor control sobre el diseño de la interfaz de usuario.\n\nAunque no se trata de un proyecto de gran envergadura, se utiliza la API pública de OpenWeatherMap para realizar la búsqueda de una ciudad y presentar su nombre y temperatura actual. Este es un ejemplo práctico que ilustra cómo se puede integrar una API externa en una aplicación en Swift.\n\nEn cuanto a la gestión de recursos, se utiliza SwiftGen para la gestión limpia de colores, imágenes y textos. Además, se aplica SwiftLint para garantizar una correcta aplicación de guía de estilo. Si bien algunas partes están modificadas, se siguen los estándares de programación en Swift.\n\nEn cuanto a las herramientas utilizadas en el proyecto, se emplea Alamofire para las peticiones de red, aunque con un manager de red customizado. En proyectos normales se utiliza Git Flow, pero en este caso no aplica.\n\nEn resumen, este proyecto presenta una implementación de aplicación en Swift con UIKit usando Clean Swift y test unitarios. Se utiliza una API pública para mostrar la temperatura actual de una ciudad y se emplean herramientas como SwiftGen y SwiftLint para una mejor gestión de recursos y aplicación de guía de estilo.\n\n### LICENSE\n\nThis project is free and use \u003cb\u003eCC BY-NC-SA\u003c/b\u003e.\n\nThis license lets others remix, tweak, and build upon your work without for commercial purposes, as long as they credit you and license their new creations under the identical terms.\n\n### THANK YOU!\n\nI hope you like it!\n\n##### ArtCC 2023++\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartcc%2Fpresentation-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fartcc%2Fpresentation-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartcc%2Fpresentation-project/lists"}