{"id":19777087,"url":"https://github.com/anibalventura/today-weather","last_synced_at":"2025-02-28T05:47:59.426Z","repository":{"id":73487361,"uuid":"318020856","full_name":"anibalventura/today-weather","owner":"anibalventura","description":"Weather data in a simple view.","archived":false,"fork":false,"pushed_at":"2020-12-08T02:18:59.000Z","size":263,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-11T01:45:39.630Z","etag":null,"topics":["android","android-app","databinding-android","kotlin","material-design","material-ui","openweathermap-api","weather-app"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","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/anibalventura.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":"2020-12-02T23:39:28.000Z","updated_at":"2020-12-18T06:49:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"b57243df-6190-48f2-ae4c-97e49bd45f92","html_url":"https://github.com/anibalventura/today-weather","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anibalventura%2Ftoday-weather","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anibalventura%2Ftoday-weather/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anibalventura%2Ftoday-weather/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anibalventura%2Ftoday-weather/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anibalventura","download_url":"https://codeload.github.com/anibalventura/today-weather/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241107425,"owners_count":19910973,"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":["android","android-app","databinding-android","kotlin","material-design","material-ui","openweathermap-api","weather-app"],"created_at":"2024-11-12T05:23:08.327Z","updated_at":"2025-02-28T05:47:59.377Z","avatar_url":"https://github.com/anibalventura.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Today Weather\n[![API](https://img.shields.io/badge/API-21%2B-brightgreen.svg?style=flat)](https://android-arsenal.com/api?level=21)\n[![Kotlin](https://img.shields.io/badge/Kotlin-1.4.20-blue.svg)](https://kotlinlang.org)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n\nWeather data in a simple view based on modern Android application tech-stacks.\n\n## Features\n* Get latest weather data on app start.\n* Refresh button to get latest weather data.\n* Dialog warning when GPS or permissions are Off.\n* Show last weather data when no internet connection.\n* Spanish translation.\n\n\u003cimg src=\"images/app.png\" align=\"right\" width=\"28%\"/\u003e\n\n## Tech Stack \u0026 Open-source libraries\n* Minimum SDK level 21.\n* [Kotlin](https://kotlinlang.org/) - official programming language for Android development.\n* [Coroutines](https://kotlinlang.org/docs/reference/coroutines-overview.html) - for asynchronous programming.\n* [Android Architecture Components](https://developer.android.com/topic/libraries/architecture) - collection of libraries that help you design robust, testable, and maintainable apps.\n  - [Data Binding](https://developer.android.com/topic/libraries/data-binding) - data objects to bind UI components in your layouts to data sources in your app.\n  - [Lifecycle](https://developer.android.com/topic/libraries/architecture/lifecycle) - components to perform actions in response to a change in the lifecycle status of another component, such as activities and fragments.\n* [Navigation](https://developer.android.com/guide/navigation) - interactions that allow users to navigate across, into, and back out from the different pieces of content within your app.\n* [Fragment](https://developer.android.com/guide/components/fragments) - represents a behavior or a portion of user interface in a FragmentActivity.\n* [Material-Components](https://github.com/material-components/material-components-android) - Material design components.\n  - [Material Dialogs](https://github.com/afollestad/material-dialogs) - library with extensible dialogs API for Kotlin \u0026 Android.\n* [Preference](https://developer.android.com/reference/androidx/preference/package-summary) - allows to build interactive settings screens, without needing to handle interacting with device storage or managing the user interface.\n* [Dexter](https://github.com/Karumi/Dexter) - Library that simplifies the process of requesting permissions at runtime.\n* [Retrofit](https://square.github.io/retrofit/) - A type-safe HTTP client for Android.\n* [Play Services]()\n\n## Build\nIn order to build and use the app you need to add your OpenWeatherMap API Key on the following line in the Constants.kt file. In order to get a Key see the following documentation [OpenWeatherMap](https://openweathermap.org/api).\n\n```xml\nconst val API_KEY: String = \"OPEN_WEATHER_API_KEY\"\n```\n\n## Contribute\nAwesome! If you would like to contribute you're always welcome!\n\n# License\n```xml\nCopyright 2020 Anibal Ventura\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanibalventura%2Ftoday-weather","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanibalventura%2Ftoday-weather","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanibalventura%2Ftoday-weather/lists"}