Mausam is a weather app that provides current weather information, hourly forecast, and a 3-day weather forecast for any location worldwide. The app follows the MVVM (Model-View-ViewModel) architectural pattern, ensuring a separation of concerns and promoting a clean and maintainable codebase.
- Display current weather information including temperature, and condition.
- Hourly forecast for the next 24 hours with temperature and condition.
- 3-day weather forecast with high and low temperatures.
- Air quality information including pollutants and air quality index (AQI).
- Astronomical data such as sunrise and sunset times, moonrise, and moonset.
- Metric and Imperial unit support for temperature and wind speed.
- Kotlin - the programming language used for the app development.
- MVVM - architectural pattern for separating concerns and promoting maintainability.
- Retrofit - networking library for making API requests.
- OkHttp - HTTP client for network interactions.
- Gson - library for parsing JSON responses.
- RecyclerView - displaying lists of data efficiently.
- LiveData - lifecycle-aware data holder for observing data changes.
- ViewModel - component responsible for managing UI-related data.
- PreferenceFragmentCompat - for implementing the settings/preferences screen.
- BottomNavigationView - providing the bottom navigation for easy navigation between screens.
To run the app on your local machine, follow these steps:
-
Clone the repository: git clone https://github.com/adityarai004/mausam_weather_app.git
-
Open the project in Android Studio.
-
Build and run the app on your preferred device or emulator.
Contributions are welcome! If you find any bugs or have suggestions for improvements, please open an issue or submit a pull request.