A real-time monitoring website for SNEWS messages, displaying different types of messages on horizontal timelines.
- Real-time display of SNEWS messages (Significance Tier, Time Tier, Coincidence Tier, and Heartbeat)
- Horizontal timelines showing the last 100 messages for each message type
- Automatic updates every 30 seconds
- Interactive tooltips showing detailed message information
- Visual distinction between test and non-test messages
- Python 3.8+
- Node.js 14+
- PostgreSQL database (configured in SNEWS_DB)
-
Navigate to the backend directory:
cd backend
-
Create a virtual environment and activate it (or if you already have a venv for snews development you can use that venv):
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Create a
.env
file with your database configuration:DATABASE_URL=postgresql://username:password@localhost:5432/snews_db
-
Navigate to the frontend directory:
cd frontend
-
Install dependencies:
npm install
-
Start the backend server:
cd backend source venv/bin/activate # On Windows: venv\Scripts\activate python main.py
-
In a new terminal, start the frontend development server:
cd frontend npm start
-
Open your browser and navigate to
http://localhost:3000
-
Backend API endpoints:
/api/messages/sig-tier
: Get latest significance tier messages/api/messages/time-tier
: Get latest time tier messages/api/messages/coincidence-tier
: Get latest coincidence tier messages/api/messages/heartbeat
: Get latest heartbeat messages
-
Frontend components:
App.tsx
: Main application componentMessageTimeline.tsx
: Timeline visualization component
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request