A real-time dashboard for tracking the Nipah virus outbreak in India. This system monitors reliable data sources, tracks infected and quarantined individuals across different regions, and adapts automatically when the virus spreads to new areas.
- Real-time Statistics: Track total infected, quarantined, deaths, and recovered cases
- Regional Breakdown: Visualize outbreak data by state/region with automatic adaptation to new outbreak areas
- Interactive Charts: Bar charts for regional distribution and doughnut charts for category breakdown
- Timeline Tracking: Historical view of outbreak progression
- Automated Monitoring: Background data collection from reliable sources every 60 minutes
- Data Sources: Integration with WHO, Government health departments, and verified news outlets
- Responsive Design: Works seamlessly on desktop and mobile devices
- RESTful API for data management
- Background scheduler for automatic updates
- Web scraping capabilities for data collection
- JSON-based data storage
- Interactive dashboard with Chart.js visualizations
- Real-time data updates via AJAX
- Responsive Material Design-inspired UI
The dashboard monitors these reliable sources:
- World Health Organization (WHO) - Official outbreak notifications
- Outbreak News Today - Verified outbreak news
- Ministry of Health and Family Welfare, India - Government health data
- Python 3.8 or higher
- pip (Python package manager)
-
Clone the repository
git clone <repository-url> cd HelloWorld
-
Create a virtual environment (recommended)
python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Run the application
python app.py
-
Access the dashboard Open your browser and navigate to:
http://localhost:5000
Once the application is running, the dashboard will display:
- Summary statistics at the top
- Regional distribution charts
- Detailed regional breakdowns
- Outbreak timeline
- Data source information
Click the "Refresh Data" button to manually trigger data collection from all sources.
The application provides several API endpoints:
GET /api/data- Get all outbreak dataGET /api/summary- Get summary statisticsGET /api/region/<region>- Get data for a specific regionGET /api/timeline- Get outbreak timelineGET /api/sources- Get data sources informationPOST /api/update- Manually update region dataPOST /api/refresh- Trigger data collectionGET /health- Health check endpoint
To manually update data for a region, send a POST request to /api/update:
curl -X POST http://localhost:5000/api/update \
-H "Content-Type: application/json" \
-d '{
"region": "Maharashtra",
"infected": 3,
"quarantined": 50,
"deaths": 0,
"recovered": 0,
"districts": ["Mumbai"],
"status": "investigating"
}'Edit config.py to customize:
- UPDATE_INTERVAL: Data collection frequency (default: 60 minutes)
- PORT: Server port (default: 5000)
- MONITORED_STATES: List of Indian states to monitor
- DATA_SOURCES: URLs and configuration for data sources
HelloWorld/
├── app.py # Flask application
├── data_collector.py # Data collection module
├── data_models.py # Data models and storage
├── config.py # Configuration settings
├── requirements.txt # Python dependencies
├── data/
│ └── outbreak_data.json # Outbreak data storage
├── static/
│ ├── css/
│ │ └── style.css # Dashboard styles
│ └── js/
│ └── dashboard.js # Dashboard JavaScript
└── templates/
└── index.html # Dashboard HTML template
Based on reliable sources:
- Cases: 5 confirmed
- Quarantined: 190 contacts traced
- Status: Critical, under investigation
- Districts: North 24 Parganas (Barasat area)
- Cases: 4 confirmed (May-July 2025)
- Deaths: 2
- Status: Contained
The dashboard automatically adapts when the virus spreads to new regions:
- Automatic Detection: When new regional data is added, the dashboard immediately reflects it
- Dynamic Visualization: Charts and statistics automatically include new regions
- Timeline Updates: New outbreak events are logged in the timeline
- Regional Cards: New region cards appear in the regional breakdown section
The current implementation includes:
- Initialized Data: Pre-populated with January 2026 outbreak information from WHO and verified sources
- Manual Update API: Allows authorized updates of regional data
- Extensible Framework: Ready for integration with automated web scraping
- Automated web scraping from government health portals
- Integration with WHO API (when available)
- Real-time alerts for new outbreaks
- Email/SMS notifications
- Database backend (PostgreSQL/MongoDB)
- User authentication for data updates
- Export functionality (CSV, PDF reports)
- The
/api/updateendpoint should be protected with authentication in production - Implement rate limiting for API endpoints
- Use HTTPS in production environments
- Validate and sanitize all input data
To contribute to this project:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This dashboard is for informational purposes only. For official health information and guidance, please consult:
- Your local health authorities
- World Health Organization (WHO)
- Ministry of Health and Family Welfare, India
This project is open source and available for public health purposes.
For issues, questions, or contributions, please open an issue in the repository.
Stay Safe. Stay Informed.