A Streamlit-based dashboard that processes up to 18 video feeds to:
- Detect and count vehicles, adapt signal timing
- Heuristically detect incidents (accident, fire, flood)
- Notify authorities via SMS/Email when configured
- Secure login with Argon2 hashing and optional TOTP 2FA
- Python 3.10+
- VS Code or any IDE
- Create a virtual environment and install dependencies:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt- Configure environment:
cp .env.example .env
# Edit .env with your settings- Run the app:
streamlit run app/main.py --server.port 5000 --server.address 0.0.0.0On first run, you will be asked to create an admin account. Passwords are hashed with Argon2id. Optionally enable TOTP 2FA.
Use the dashboard to upload up to 18 videos. Processing happens locally. No external services required.
Set Twilio or SMTP variables in .env to enable SMS/Email alerts to the appropriate contacts.
Run static and dependency scans:
bandit -r . -q || true
pip-audit || true- This is a software-only demonstration. Preventing RF jamming is out of scope for pure software; the system uses retries and multiple channels for resilience.
- Incident detectors are heuristic and intended for demo; accuracy depends on video quality and scene setup.