QuakeWatch is a single-page Angular application that lists and maps recent Australian earthquakes. It pulls live seismic data straight from Geoscience Australia's public feed and lets you narrow the results by magnitude and time window, keeping the list and the map in sync as you filter.
- Live earthquake list — recent events sourced from Geoscience Australia.
- Interactive map — every quake plotted with Leaflet, kept in step with the current filters.
- Signal-based filtering — filter by minimum magnitude (0–8) and time window (up to 168 hours / 7 days); both the list and map update reactively.
Earthquake data comes from Geoscience Australia's Earthquake Notification Service (see the Notifications section). The service publishes recent earthquake data in several formats — RSS, GeoRSS, ATOM CAP-AU, GeoJSON, and KML — and QuakeWatch consumes the GeoJSON feed, mapping it into the app's own Quake model. The feed is called directly from the browser (CORS is open on the endpoint).
Note: Geoscience Australia provides these feeds for general informational purposes only. Do not rely on them for emergency response.
- Angular 22 — standalone components, signals, and the new control flow syntax.
- Signal forms (
@angular/forms/signals) for the filter controls. - Leaflet for the map rendering.
- Tailwind CSS v4 for styling.
- Vitest as the unit test runner.
To start a local development server, run:
ng serveOnce the server is running, open your browser and navigate to http://localhost:4200/. The application will automatically reload whenever you modify any of the source files.
Angular CLI includes powerful code scaffolding tools. To generate a new component, run:
ng generate component component-nameFor a complete list of available schematics (such as components, directives, or pipes), run:
ng generate --helpTo build the project run:
ng buildThis will compile your project and store the build artifacts in the dist/ directory. By default, the production build optimizes your application for performance and speed.
To execute unit tests with the Vitest test runner, use the following command:
ng testFor end-to-end (e2e) testing, run:
ng e2eAngular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.
For more information on using the Angular CLI, including detailed command references, visit the Angular CLI Overview and Command Reference page.