base on A Weather app for android π¦πβ
<div align="center">
<img src="https://github.com/PranshulGG/WeatherMaster/blob/master/preview/partly_cloudy_day.svg" alt="" width="120px">
</div>
<h1 align="center">
WeatherMaster
</h1>
<div align="center">
<a href="https://github.com/PranshulGG/WeatherMaster/releases"><img alt="GitHub" src="https://censorship.no/img/github-badge.png" height="80"/></a>
<a href="https://apt.izzysoft.de/fdroid/index/apk/com.example.weathermaster"><img alt="GitHub" src="preview/download_Btn.png" height="80"/></a></div>
<br>
`(Last updated on 10-21-2024 at 2:25 PM UTC)`
![app_thumbnail](preview/thumbnail.png)
# ποΈ Screenshots
<div align="center">
<img src="preview/current.png" width="320">
<img src="preview/24hr.png" width="320">
<img src="preview/radar_condi.png" width="320">
<img src="preview/uv_aqi.png" width="320">
<img src="preview/forecast_page.png" width="320">
<img src="preview/gov_alerts.png" width="320">
<img src="preview/settings.png" width="320">
<img src="preview/radar_page.png" width="320">
<img src="preview/condi_forecast.png" width="320">
</div>
<br>
# β¨ Features:
- π€οΈ **Current Weather:** Get real-time updates on weather conditions in your area.
- π’ **Government Weather Alerts:** Receive official alerts and warnings to stay safe.
- β³ **24-Hour Forecast:** Plan your short-term activities with accurate forecasts for the next two days.
- π
**14-Day Forecast:** View detailed weather predictions for the upcoming week.
- π **Moon Phases:** Track the phases of the moon and plan accordingly.
- π **Moonrise & Moonset:** Know the exact times for moonrise and moonset each day.
- π
**Sunrise & Sunset:** Stay informed about sunrise and sunset times to optimize your day.
- π **Day Length:** Check how long the daylight lasts each day.
- π **Day Description:** Get a brief summary of the dayβs weather conditions.
- π§οΈ **Rain Bar:** See a visual representation of expected rainfall.
- ποΈ **Visibility:** Monitor how far you can see clearly based on weather conditions.
- π§ **Humidity:** Check the current humidity levels to stay comfortable.
- π§ **Pressure:** Track atmospheric pressure to understand weather changes.
- π¬οΈ **Wind Direction & Speed:** Stay aware of wind patterns and strength.
- βοΈ **Snow Amount:** Know the expected snowfall for winter planning.
- βοΈ **Cloudiness:** See how much of the sky is covered by clouds.
- π‘οΈ **Min-Max Temperature:** View the range of temperatures for the day.
- π¬οΈ **Feels Like Temperature:** Understand how the temperature feels based on wind and humidity.
- π§οΈ **Precipitation Type & Area Coverage:** Get details on what kind of precipitation is expected and its coverage area.
- π **UV Index:** Stay protected from harmful UV rays with UV index updates.
- πΏ **Air Quality:** Monitor air quality to stay informed about pollution levels.
- πΊοΈ **Live Map:** Access a real-time map to track weather conditions in different areas.
- π **Location Picker:** Easily select and view weather information for different locations.
- β **Save Favorite Locations:** Save your preferred locations for quick access to their weather updates.
- π **Clothing Recommendations:** Get suggestions on what to wear based on the current weather conditions.
- πΎ **Pollen Data (Europe Only):** View pollen levels for grass, trees, and weeds in your area.
# π Weather providers:
- [**open-meteo**](https://open-meteo.com)
- [**WeatherApi**](https://www.weatherapi.com/)
- [**OpenWeatherMap**](https://openweathermap.org/api)
- [**accuweather**](https://www.accuweather.com/)
# βοΈ Other:
- π±<strong>Native Android Experience: </stronge>Enjoy a user interface and interaction that closely resemble a native Android Weather app.
- π¨<strong>Material Design: </stronge>The app is built using Material Web Components, ensuring a clean, consistent, and visually appealing design.
- βοΈ<strong>Customization Options: </stronge>Enjoy a ton of customization options. Adjust themes, Units.
- π<strong>Responsive Design: </stronge>WeatherMaster is fully responsive for all mobile devices.
- π§©<strong>User-Friendly Interface: </stronge>The app's interface is designed to be straightforward and user-friendly.
# π οΈ Built With:
- <strong>HTML & CSS: </stronge> For the basic structure and styling of the app.
- <strong>JavaScript: </stronge>To handle the app's logic and interactivity.
- <strong>Java: </stronge>Mainly used for JavaScript interface and permissions, allowing the app to run on Android devices.
- <strong>Material Web Components: </stronge>Utilized to create a consistent and attractive Material Design look and feel.
- <strong>Weather icons</strong>: <a href="https://gitlab.com/bignutty/google-weather-icons">Google weather icons
# π Todos:
- β
Adding cache to reduce api requests
- β
Translations
- β¬ Widgets / Notifications (under construction)
- β
Make it lightweight
- β
Allows you to add multiple locations
- β
Customization
- β
More detailed weather
- β
Live weather map
- β
Pick locations using map
- β
Change app colors according to the weather
- Any user suggestions :)
<br>
<br>
> [!NOTE]
> The app is designed to run on Android devices and does not support web browsers. Attempting to open the app in a browser will not work.
<br>
# Contact
For any questions or feedback, feel free to open an issue on GitHub or contact
[email protected]
<br>
# License
This project is licensed under the GPL-3.0 license. See the `LICENSE` file for details.
", Assign "at most 3 tags" to the expected json: {"id":"12007","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"