/MauSUM

Application which shows weather of given location based on data aggregated from multiple sources.

Primary LanguageTypeScript

Problem Statement

FULLStack OpenTheme 10

Amalgamation of Weather Forecast from multiple free public data streams & APIs (Yahoo weather, Accu-weather, ForecastIo, Weather Underground, Aeris-weather, Open-weather Map etc.& many more. A more detailed list can be furnished later) & amalgamate these through some statistical averaging to produce a single integrated weather forecast stream for a particular geo location within a certain Km radius. We would like to provide this information on our App & also publish an API if​ possible.

What I have built

MauSUM - a weather application which aggregrates data from multiple sources and gives most accurate weather data. It hits various external apis from a backend in Python/Flask, aggregates there data and generate final result as consumable REST API. Frontend built in Angular 7 access the API and displays result in intuitive manner.

Technologies Used

  • Python Flask

    • Hit various API through HTTP, requests module
    • Independent API
  • Angular 7

    • Async fetches data using obervable subscriber pattern
    • process & modification of data in UI
  • HTML/CSS/Bootstrap

    • simple yet powerful
  • APIs Used

    • OpenWeatherMap
    • DarkSky
    • SimpleMaps : to get indian city coordinates

Challenges

  • Breaking down problem and decide MVP Feature (mentors helped to figure out MUST HAVE Feature)
  • Variation in format of different data sources (created custom weather class and SI Unit convertion function)

Future Modification

  • Caching of API responses
  • Integrating Google Maps Autocomplete place API
  • Weather data from more sources
  • API Authentication & Throttling
  • Error handling, logging & docs