A comprehensive full-stack IoT data monitoring dashboard built with Flask, SQLAlchemy, and WebSockets. Designed for database programming courses with proper normalization, security, and modern UI.
- Real-time Data Monitoring: Live sensor data updates via WebSocket
- Sensor Management: Add, edit, and manage IoT sensors with API keys
- Alert System: Threshold-based alerts with severity levels
- Data Analytics: Historical data analysis with interactive charts
- User Authentication: Secure login and registration system
- Responsive Design: Modern, mobile-friendly UI with feminine styling
- RESTful API: Complete API for sensor data ingestion
- Database Optimization: Proper indexing and time-series data handling
- Flask - Web framework
- SQLAlchemy - ORM with PostgreSQL/SQLite
- Flask-SocketIO - Real-time WebSocket communication
- Flask-Login - User authentication
- Flask-WTF - Form validation and CSRF protection
- Bootstrap 5 - Responsive UI framework
- Chart.js - Interactive data visualization
- Font Awesome - Icons
- Vanilla JavaScript - Client-side functionality
- PostgreSQL (Production) - Robust relational database
- SQLite (Development) - Lightweight development database
# Clone the repository
git clone <repository-url>
cd iot-dashboard
# Copy environment file and configure
cp .env.example .env
# Edit .env with your settings
# Start with Docker Compose
docker-compose up -d
# Access the application
open http://localhost:5000