{"repo":"odaridavid/WeatherApp","free":true,"listed":false,"github":"https://github.com/odaridavid/WeatherApp","clone":"git clone https://github.com/odaridavid/WeatherApp.git","description":"☁️ ❄️ A KMP weather app built with Jetpack Compose , MVI , Unit Testing , Hilt and Location Services, Github Actions, Firebase + Material 3","language":"Kotlin","stars":189,"topics":["android","compose","openweatherapi","weather","hilt","mvi","kotlin","location-services","androidpermission","firebase"],"license":"Apache-2.0","category":"mobile-apps","readme_excerpt":"Weather App Summary A simple weather app that gets your location and displays the forecast for the current day and a few days after that. API : OpenWeatherMap Reason for choosing mentioned API : - 1000 free api calls per day, good for a small project. - Ability to specify different units in requests and receive a formatted response based on the unit i.e imperial/metric etc. - Api response can also be modified to include the amount of needed data all with one call , contains icons for different conditions and has multilingual support if adopting for a wider audience is ever needed. - They have a large user base and handle millions of requests, if the app were ever to scale, there's confidence on the api providing high availability. - Has capabilities for alerts for severe weather conditions More info on how to make an api call here. Pre-requisite 📝 In your local.properties you will need to add your Open Weather API key and copy the urls in. Check for one under Api Keys Environment - Built on A.S Hedgehog+ - JDK 17 Design/Architectural decisions 📐 The project makes use of common android patterns in modern android codebases. Project Structure The folders are split into 4 boundaries: Core Contains the models/data classes that are independent of any framework specific dependencies and represent the business logic. In a Clean Arch world you can consider these as your domain classes and interfaces. Data Contains data sources , local or remote, this is where the implementation for ","default_branch":null,"files":null,"tree":[],"storefront":"/r/odaridavid","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/odaridavid/WeatherApp/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}