- Svelte 60.6%
- TypeScript 20%
- CSS 19.2%
- JavaScript 0.1%
| .vscode | ||
| src | ||
| static | ||
| .env.example | ||
| .gitignore | ||
| .npmrc | ||
| COMPONENT_USAGE.md | ||
| LICENSE | ||
| package.json | ||
| pnpm-lock.yaml | ||
| README.md | ||
| SOURCE_DATA.md | ||
| svelte.config.js | ||
| tsconfig.json | ||
| vite.config.ts | ||
EWS Concept New
This project is a SvelteKit-based front-end application for an Earthquake Early Warning System (EWS).
Prerequisites
Before running this project, ensure you have installed:
- Node.js (version 18 or newer is recommended)
- pnpm (this project uses
pnpmas the package manager, as indicated bypnpm-lock.yaml)
Setup and Running the Project
-
Open the project directory: Make sure you are inside the project folder:
cd ews-concept-new -
Install dependencies: Run the following command to install all required packages:
pnpm install(Note: You can also use
npm installif you don't havepnpminstalled) -
Environment Configuration: Copy the
.env.exampleconfiguration file to.env.For Windows (Command Prompt/PowerShell):
copy .env.example .envFor Mac/Linux:
cp .env.example .envOpen the newly created
.envfile and adjust the WebSocket or Socket Server URLs if necessary:# WebSocket Server URL for real-time seismic data # https://github.com/bagusindrayana/seedlink-websocket PUBLIC_WEBSOCKET_URL=ws://localhost:8080 # Socket Server for earthquake/tsunami data # https://github.com/bagusindrayana/ews-socket PUBLIC_SOCKET_DATA_URL=ws://localhost:8081 -
Run the Development Server: Start the local development server with the command:
pnpm run devOr start it and automatically open a new tab in your browser:
pnpm run dev --openBy default, the application will run at
http://localhost:5173.
Building for Production
To create a production version of your app (a compiled version ready for deployment):
pnpm run build
You can preview the production build by running:
pnpm run preview
Data Sources
This application relies on two distinct external data sources for real-time operation and alert notifications. These sources are configured via the .env file.
1. Seedlink WebSocket (Real-time Seismic Data)
- Repository: seedlink-websocket
- Purpose: Provides streaming, real-time seismic waveform data (e.g., MiniSEED format).
- Usage: Used to render live seismograms and waveform charts on the front-end dashboard.
- Environment Variable:
PUBLIC_WEBSOCKET_URL(default:ws://localhost:8080)
2. EWS Socket (Earthquake & Tsunami Alerts)
- Repository: ews-socket
- Purpose: A WebSocket server that broadcasts structured alert data regarding recent earthquakes, parameters (magnitude, depth, location), and potential tsunami warnings.
- Usage: Triggers the UI popups, updates the recent earthquake list, and displays alert banners.
- Environment Variable:
PUBLIC_SOCKET_DATA_URL(default:ws://localhost:8081)