GithubHelp home page GithubHelp logo

whytf / ppg.report Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aeharding/ppg.report

0.0 0.0 0.0 16.13 MB

Weather report tailored for paramotor pilots, available worldwide. 🌏 Combines winds aloft, nearby Terminal Aerodrome Forecasts, hourly forecast, NWS active alerts, FAA TFRs, SIGMETs, G-AIRMETs and CWAs

Home Page: https://ppg.report

License: MIT License

TypeScript 95.13% HTML 4.87%

ppg.report's Introduction

- ⚠️ Warning! Fly at your own risk.

Weather report tailored for paramotor pilots. Consolidates data from multiple sources. Worldwide coverage, with extra information within the United States.

  1. 🌏 Open-Meteo for international winds aloft and hourly weather forecasts
  2. 🌏 Nearby Terminal Aerodrome Forecasts, if available
  3. 🌏 Aviation Weather Center SIGMETs (international support), G‑AIRMETs, and CWAs
  4. πŸ‡ΊπŸ‡Έ The NOAA Rapid Refresh Op40 analysis
  5. πŸ‡ΊπŸ‡Έ NWS hourly weather forecast
  6. πŸ‡ΊπŸ‡Έ National Weather Service active alerts
  7. πŸ‡ΊπŸ‡Έ Federal Aviation Administration TFRs

Screenshot of PPG.report website

Available Scripts

In the project directory, you can run:

yarn start

Runs the app in the development mode. Open http://localhost:5173 to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

yarn test

Launches the test runner in the interactive watch mode.

yarn build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

Deploying

Using a reverse proxy such as Nginx, configure the following:

  • Serve index.html for 404 requests, no caching
    • Aggressively cache /assets
  • Create the following reverse proxy endpoints:
    • REQUIRED endpoints (for worldwide support):
      • GET /api/position/search ➑ https://nominatim.openstreetmap.org/search
      • GET /api/position/reverse ➑ https://nominatim.openstreetmap.org/reverse.php
      • GET /api/timezone ➑ http://api.timezonedb.com/v2.1/get-time-zone (You will need to attach an API key. Note: This API is only used as a fallback for when the /api/weather endpoint fails, or when using Open-Meteo.)
      • GET /api/openmeteo/{proxy+} ➑ https://api.open-meteo.com/v1/{proxy} Get worldwide winds aloft and forecast information
    • OPTIONAL endpoints (to further enhance basic global support):
      • GET /api/rap ➑ https://rucsoundings.noaa.gov/get_soundings.cgi
      • GET /api/aviationweather ➑ https://www.aviationweather.gov/adds/dataserver_current/httpparam
      • GET /api/weather/{proxy+} ➑ https://api.weather.gov/{proxy} Greedy path capturing, forwards to api.weather.gov.
      • GET /api/pqs ➑ https://epqs.nationalmap.gov/v1/json Get United States altitude information for a given geolocation.
      • GET /api/googleelevation ➑ https://maps.googleapis.com/maps/api/elevation/json Get global altitude information for a given geolocation (backup API).
      • GET /api/tfr ➑ self-hosted tfr-scraper
      • GET /api/aviationalerts ➑ self-hosted aviation-wx
  • IMPORTANT! For each outgoing API request, make sure to:
    • Attach a User-Agent header, as per NOAA and Nominatim usage policies.
    • Keep these free APIs free - be a good API consumer! Add caching for each route - I recommend at least 10 minutes for rucsoundings.noaa.gov, and one week for nominatim.openstreetmap.org.

ppg.report's People

Contributors

aeharding avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.