An open API service indexing awesome lists of open source software.

https://github.com/imaliahmad/weather-app-angular-19

A modern weather application built with Angular 19 that displays current conditions and forecasts using OpenWeatherMap API.
https://github.com/imaliahmad/weather-app-angular-19

angular19 bootstrap openweathermap-api rxjs standalone-components typescipt weather-app

Last synced: 9 months ago
JSON representation

A modern weather application built with Angular 19 that displays current conditions and forecasts using OpenWeatherMap API.

Awesome Lists containing this project

README

          

# ๐ŸŒค๏ธ Weather App - Angular 19

A modern weather application built with **Angular 19**, providing real-time weather conditions and forecasts using the **OpenWeatherMap API**.

---

## ๐ŸŒŸ Features

- ๐ŸŒ Select locations by **country and city**
- ๐Ÿ“ Automatic **geolocation** detection
- โ›… **Current weather** conditions with detailed metrics
- ๐Ÿ•’ **24-hour forecast** with horizontal scrolling
- ๐Ÿ“† **7-day weather** forecast with daily summaries
- ๐Ÿ“ฑ **Responsive design** for all devices
- ๐Ÿ”„ **Real-time updates** using RxJS
- ๐Ÿ’พ Location **persistence with local storage**

---

## ๐Ÿ› ๏ธ Technologies Used

- **Angular 19** โ€“ Standalone component architecture
- **TypeScript** โ€“ Type-safe codebase
- **RxJS** โ€“ Reactive programming
- **Bootstrap 5** โ€“ Responsive UI framework
- **OpenWeatherMap API** โ€“ Weather data provider

---

## ๐Ÿงฉ Project Structure

This app utilizes Angular 19's **standalone component** architecture:

- ๐Ÿ“ฆ Components: Dashboard, Location Selector, Forecasts
- ๐Ÿ”Œ Services: API communication, state management
- ๐Ÿงพ Interfaces: Type-safe weather data models
- โš™๏ธ Configuration: `app.config.ts`, `app.routes.ts`

---

## ๐Ÿš€ Setup Instructions

### 1. Clone the Repository

### 2. Install Dependencies

### 3. Set Up Your API Key

- Sign up at [OpenWeatherMap](https://openweathermap.org/)
- Add your API key in `src/environments/environment.ts`

### 4. Run the Development Server

Then open your browser and navigate to:
**http://localhost:4200**

---

## ๐Ÿงฑ Angular 19 Standalone Architecture Highlights

- โŒ No `NgModules` (except for bootstrapping)
- ๐Ÿงฉ Each component declares its own dependencies
- ๐Ÿ”ง Configuration via `app.config.ts`
- ๐Ÿ—บ๏ธ Routing via `app.routes.ts`
- ๐Ÿš€ Bootstrapped using `bootstrapApplication` in `main.ts`

---

## ๐Ÿ‘จโ€๐Ÿ’ป User Guide

1. Select a **country** from the dropdown
2. Choose or search for a **city**
3. Click **"Get Weather"** to view the forecast
4. Or click **"Use my current location"** for auto-detection

---

## ๐Ÿ“ธ Screenshots

---

## ๐Ÿ”ฎ Future Enhancements

- ๐ŸŒก๏ธ Toggle between **Celsius and Fahrenheit**
- ๐Ÿ—บ๏ธ Weather **maps** for precipitation, temperature, etc.
- ๐Ÿ•ฐ๏ธ Historical weather data
- ๐Ÿšจ Weather **alerts and notifications**
- ๐ŸŒ™ **Dark mode** support
- ๐ŸŒ **Multi-language** support

---

## ๐Ÿค Contributing

Contributions are welcome! ๐Ÿš€

---

## ๐Ÿ“„ License

This project is licensed under the **MIT License**.
See the [LICENSE](LICENSE) file for details.

---

## ๐Ÿ™ Acknowledgements

- [OpenWeatherMap](https://openweathermap.org/) โ€“ Weather data
- [Bootstrap](https://getbootstrap.com/) โ€“ UI components
- [Angular](https://angular.io/) โ€“ Web application framework

---

## โญ Like this project?

Give it a star! It helps others discover the project and motivates further development. ๐ŸŒŸ