Skip to content

Latest commit

 

History

4,313 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ocean Watch

Ocean Watch is a lightweight, accessible web dashboard for ocean advisories and coastal alerts, focused on the Indian Ocean region. It consolidates advisory severity, potential fishing zones (PFZ), cyclone and offshore forecasts, and delivers responsive, installable (PWA) user experiences for both desktop and mobile.

Lightweight & Resilient: Vanilla JS/CSS without heavy framework bloat ensures fast load times even on slow 2G/3G coastal networks. PWA Ready & Localized: Clean multi-language translation architecture (data-i18n), Web Audio voice summary integration, offline PWA caching, and print styles. Multi-Hazard Aggregation: Successfully ingesting ITEWC Tsunami advisories, Seismic events (with GEBCO bathymetry & distance-to-coast enrichment), INCOIS High Wave & Swell Surge advisories, Marine Heatwaves (MHW), Coral Bleaching (CBAS), and Potential Fishing Zones (PFZ).

Repository layout

  • css/ — base, layout, component, and responsive styles
  • js/ — shared application code and service-specific rendering
  • data/status.schema.json — snapshot contract
  • data/pfz-*.geojson — generated PFZ map vectors for display, sharing, and offline fallback
  • scripts/update-status.ps1 — official-source updater
  • scripts/validate-status.ps1 — snapshot validation
  • scripts/sources/ — auditable source definitions
  • tests/ — fixtures and validation checks
  • docs/ — architecture, sources, and methodology

The generated status.json stays at the repository root because the static application and GitHub Pages update workflow fetch it directly.

Frequently changed settings

Edit js/config.js to change deployment-wide settings. It is shared by the page and service worker and contains the cache version, public site URL, bulletin age limits, map settings, source endpoints, and severity colors.

For a cache refresh, change only CACHE_VERSION in that file. Asset URLs and service-worker registration do not need separate version edits.

Local validation

powershell -NoProfile -File scripts/validate-status.ps1
powershell -NoProfile -File tests/validation/validate-status.ps1
node tests/validation/validate-assets.mjs

Key features

  • Clear advisory severity palette and status UI
  • PFZ (Potential Fishing Zone) details and landing center information
  • Cyclone, offshore (OSF), and other hazard renderings
  • Responsive controls and optimized advisory layout
  • Installable PWA with offline support and service-worker caching
  • Configurable announcement card for timely messages
  • Accessibility and safeguards for advisory states and statuses

Security

Please see our Security Policy for information on reporting vulnerabilities and security updates.

License

This project is licensed under the GNU General Public License v3.0 (GPL-3.0).

Maintainers & Contact

  • Maintainer: @pkmdinesh
  • For questions or issues, please open an issue in the repository.

Acknowledgements

  • Built to surface timely ocean advisory information for coastal communities and responders.

About

Compact, Lightweight, Resilient Web Platform for India coastal advisory dashboard using official INCOIS and ITEWC sources.

Topics

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages