A modern, feature-rich weather application that provides real-time updates and accurate forecasts across all platforms.
World's Weather is a high-performance, cross-platform mobile application designed to provide users with precise, localized weather data at their fingertips. Built with a focus on visual elegance and data accuracy, the app bridges the gap between sophisticated weather analytics and a user-friendly interface.
- Real-Time Data Integration: Fetches live weather conditions by combining data from both OpenWeatherMap and WeatherAPI.com for maximum reliability.
- Location-Aware Forecasts: Automatically detects user location (using Capacitor Geolocation) to provide immediate weather updates.
- Detailed Analytics: Displays multi-day forecasts, humidity levels, wind speeds, UV indices, and astronomical data like sunrise/sunset times.
- Cross-Platform Compatibility: Deploys seamlessly to Android, iOS, and Web from a single codebase.
- Angular (v17): Chosen for its robust architecture, powerful dependency injection, and efficient handling of complex state management.
- Ionic Framework (v8): Provides a premium UI/UX library that ensures the app looks and feels native on both iOS and Android.
- Capacitor (v7): Enables direct access to native device features (Geolocation, Haptics, Status Bar) through a unified JavaScript API.
- Dual-API ForkJoin Strategy: Utilizes RxJS
forkJointo simultaneously query multiple weather providers, ensuring that if one service is limited, the app still delivers comprehensive data.
One of the primary challenges was harmonizing two different weather data models into a single, cohesive UI. Future iterations will include:
- Push Notifications: Proactive alerts for severe weather conditions.
- Interactive Weather Maps: Integration with Leaflet or Mapbox for visual precipitation tracking.
- Historical Trends: Allowing users to compare current weather with historical averages.
- 1. Project's Title
- 2. Project Description
- 4. How to Install and Run the Project
- 5. How to Use the Project
- 6. Include Credits
- 7. Add a License
To get the development environment set up and running on your local machine, follow these steps:
- Node.js (LTS recommended)
- Ionic CLI (
npm install -g @ionic/cli) - Angular CLI (
npm install -g @angular/cli)
- Clone the repository:
git clone https://github.com/your-username/ints-weather-crossplatform-mobile-app.git cd ints-weather-crossplatform-mobile-app/weather_app - Install dependencies:
npm install
- Synchronize Capacitor (for mobile):
npx cap sync
To run the project in a browser for rapid testing:
ionic serveTo run on Android or iOS:
# For Android
npx cap open android
# For iOS
npx cap open ios
Modern, glassmorphic UI showcasing real-time weather stats.
The application requires API keys from the following providers:
- OpenWeatherMap: Get free key here
- WeatherAPI.com: Get free key here
Note: Currently, API keys are located in src/app/service/weather-api.service.ts. It is recommended to move these to environment variables for production.
This project was developed with the support of various resources:
- Collaborators: Ijerson Lastimosa Ilalto (Lead Developer)
- Frameworks: Ionic Framework, Angular
- Data Providers: OpenWeatherMap, WeatherAPI.com
- Icons: FontAwesome, Ionicons
This project is licensed under the MIT License. For more information, please see the LICENSE file in the root directory.