It's a Weather app written in Kotlin. The app displays the current weather at the user’s location and a 5-day forecast. With 3 hourly graph and Map with current location marker that have current location information
- openweathermap.org for getting current weather data based on the user’s current location.
- openweathermap.org for getting a 5-day forecast based on the user’s current location.
- Request access to the user’s location upon app launch.
- Custom dialog
- Connect to the Weather API and look up the weather conditions for the current location.
- Display the current weather at the user’s location and a 5-day forecast.
- A loader should be shown to the user while they are waiting
- Any location or network errors handled and shown to the user.
- Allows you to click on the day and get more details.
- Allows you to view a 3 hourly temperature graph with Rain percentage and humidity percentage.
- Allows you to open a map with a marker of your current location.
- Allows you to click on the marker and see location details with temperature.
- Allows you to access to app settings
- Using MVVM (Model view ViewModel)
- Factory (Match interfaces of different classes)
- Singleton (A class of which only a single instance can exist )
- com.forestdesign
- applicationmanger - files containing constants or any files that related to app configurations.
- backend - a package that has all backend components related to call APIs
- handler - have all the handlers, utilities, exceptions & helpers.
- model - models needed for project
- models for all the projects (weather, forecast).
- view - files used for user interface (ui).
- activities - all activities for project
- adapter - adapters and viewholders for recycler views.
- Use Android Studio latest version 2022.3.1 Patch 4
- Works with android API 24 up to the latest official release
- Written in Kotlin