Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bintangsatri4/weather-app
https://github.com/bintangsatri4/weather-app
Last synced: 18 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/bintangsatri4/weather-app
- Owner: bintangsatri4
- Created: 2024-11-16T06:46:09.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-11-29T15:05:49.000Z (3 months ago)
- Last Synced: 2024-12-26T05:17:36.859Z (about 2 months ago)
- Language: Kotlin
- Size: 766 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Weather App
A modern Android weather application built with Kotlin and Java that provides real-time weather information and forecasts.
## Features
- Real-time weather data display
- 7-day weather forecast
- Location-based weather information
- Weather alerts and notifications
- Temperature in both Celsius and Fahrenheit
- Detailed weather conditions (humidity, wind speed, precipitation)
- Beautiful and intuitive user interface## Technologies Used
- Kotlin
- Java
- Android Architecture Components (ViewModel, LiveData)
- Retrofit for API communication
- Coroutines for asynchronous operations
- Room Database for local storage
- Dagger Hilt for dependency injection
- Material Design components
- OpenWeatherMap API## Prerequisites
- Android Studio Arctic Fox or later
- Kotlin 1.5.0 or later
- Java 8 or later
- Android SDK version 21 or later
- OpenWeatherMap API key## Installation
1. Clone this repository
```bash
https://github.com/bintangsatriamulya/Weather-App
```2. Open the project in Android Studio
3. Create a `local.properties` file in the root directory and add your OpenWeatherMap API key:
```properties
WEATHER_API_KEY=your_api_key_here
```## Architecture
This app follows Clean Architecture principles and MVVM pattern:
- **Data Layer**: Repositories and data sources
- **Domain Layer**: Use cases and business logic
- **Presentation Layer**: ViewModels and UI components## Testing
The project includes both unit tests and instrumentation tests:
```bash
# Run unit tests
./gradlew test# Run instrumentation tests
./gradlew connectedAndroidTest
```## Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add some amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
- OpenWeatherMap for providing weather data
- Material Design for UI components
- Android development community for helpful resources