SIREN is a powerful, automated service designed to listen for and track National Weather Service (NWS) alerts in real-time. It provides a web interface and push service for relay of these alerts.


The following needs to be installed on your system:
- Git
- Docker Desktop
- Go (Golang) (Latest Stable)
- Node.js LTS (v22)
- Visual Studio Code (VSCode)
Additionally:
- Make sure you are properly logged into GitHub from the git cli
- Make sure you can run
go version
andnode --version
- Start Docker Desktop before trying to run docker commands
- Clone the Repo
git clone https://github.com/CS4366/SIREN.git
cd SIREN
- Install Dependencies
-
Go Dependencies:
cd services/noaa-service go mod tidy cd ../tracking-service go mod tidy
-
Node Dependencies:
cd ../frontend-service npm install cd ../api-service npm install cd ../push-service npm install
In the root directory, start the Docker containers:
docker compose up -d
-
Open the root directory in VSCode:
code .
-
Use the preconfigured launch configurations to start the services in this order:
- Launch NOAA Service
- Launch Tracking Service
- Launch API Service
- Launch Push Service
- Launch Frontend
Alternatively, you can run the compound configuration:
- Launch All Services
If needed, the services can be started manually:
-
NOAA Service
cd services/noaa-service go run main.go
-
Tracking Service
cd services/tracking-service go run main.go
-
API Service
cd services/api-service npm run dev
-
Push Service
cd services/push-service npm run dev
-
Frontend
cd services/frontend-service npm run dev