{"id":21069243,"url":"https://github.com/0xyanis/weatherapp","last_synced_at":"2025-06-11T16:36:50.691Z","repository":{"id":151401573,"uuid":"615424381","full_name":"0xYanis/WeatherApp","owner":"0xYanis","description":"MyWeather - is a mobile application that is designed to display real-time weather.","archived":false,"fork":false,"pushed_at":"2023-09-15T08:57:57.000Z","size":5913,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-20T21:41:43.481Z","etag":null,"topics":["alamofire","corelocation","delegate-pattern","factory-pattern","ios","mvp-architecture","snapkit","swift","uikit"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/0xYanis.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":"2023-03-17T16:58:13.000Z","updated_at":"2023-05-31T20:00:43.000Z","dependencies_parsed_at":"2024-11-19T18:41:38.246Z","dependency_job_id":"02e48c42-faa9-4a74-85f6-6f98dcedc6ac","html_url":"https://github.com/0xYanis/WeatherApp","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/0xYanis%2FWeatherApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xYanis%2FWeatherApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xYanis%2FWeatherApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xYanis%2FWeatherApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0xYanis","download_url":"https://codeload.github.com/0xYanis/WeatherApp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243510261,"owners_count":20302329,"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":["alamofire","corelocation","delegate-pattern","factory-pattern","ios","mvp-architecture","snapkit","swift","uikit"],"created_at":"2024-11-19T18:33:39.678Z","updated_at":"2025-03-14T02:25:40.749Z","avatar_url":"https://github.com/0xYanis.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# App \"MyWeather\" (WeatherApp) for iOS 16.2\n\n## MyWeather - is a mobile application that is designed to display real-time weather.\n\n## Application screenshots\n\n\u003chtml\u003e\n \u003cbody\u003e\n  \u003cp\u003e\n    \u003cimg src=\"Screenshots/1.png\" width=\"200\"\u003e\n    \u003cimg src=\"Screenshots/2.png\" width=\"200\"\u003e\n    \u003cimg src=\"Screenshots/3.png\" width=\"200\"\u003e\n    \u003cimg src=\"Screenshots/4.png\" width=\"200\"\u003e\n  \u003c/p\u003e\n \u003c/body\u003e\n\u003c/html\u003e\n\n## [Youtube link](https://youtube.com/shorts/Wnj7qYaaBs8)\n\n## Functions\n\n- Show fresh weather when app starts\n\n- Find weather in other cities (worldwide)\n\n- Save the last prompt to display the next time you use it\n\n## Technology stack\n\n- Swift 5.7 - programming language\n\n- MVP - architecture pattern\n\n- UIKit - interface layout framework (UITableView \u0026 UICollectionView)\n\n- SnapKit\n\n- Alamofire\n\n- Core Location (CLGeocoder)\n\n- API - Yandex weather\n\n- Unit / UI testing\n\n- GCD\n\n- UserDefaults - storage for the last address\n\n- SOLID\n\n- Dependency Injection\n\n- Delegate pattern\n\n- Factory method pattern\n\n## Unique features\n\n- Animated loading and updating data\n\n- Save the last address\n\n- Cute design\n\n- 3D images of weather conditions\n\n## Test results\n\nTests cover 91.5 % of the application.\n\n- Unit Tests: all methods of MainPresenter \u0026 MainService\n\n- UI Tests: all possible user interactions\n\n## Installation\n\n1. Create a folder\n\n2. In the terminal, pave the path to the folder\n\n3. ``` git init ```\n\n4. ``` git clone https://github.com/0xYanis/WeatherApp```\n\n5. Open in Xcode\n\n6. Connect the iPhone via cable to the PC and select your iPhone from the list of devices in XCode\n\n7. ``` command + r ```\n\n## Working time with the project\n\nStart: 03/14/2023\n\nEnd: 03/18/2023\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xyanis%2Fweatherapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0xyanis%2Fweatherapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xyanis%2Fweatherapp/lists"}