How lishasolanki/smart-surveillance-system works
SENTINEL is a browser-based public-safety surveillance dashboard. Its principal workflow is camera-frame processing: detect and track people and objects, evaluate safety conditions, update alert state, and send frames and alerts to connected clients. The excerpts also show manual test alerts and PDF alert-history reporting. Source excerpts are partial and the README is empty, so unsampled routes and their wiring are omitted; optional model inference is shown only where explicitly called.
Main entry points: app.py Detection engine · index.html Web dashboard · yolov8n.pt YOLO weights
Components 18
Dashboard
- Web dashboard
index.html - FastAPI service
app.py - Connected clients
app.py
Video Processing
- Frame capture
app.py - Detection engine
app.py - YOLO inference
app.py - YOLO weights
yolov8n.pt - Person tracker
app.py
Safety Analysis
- Zone intrusion
app.py - Crowd analysis
app.py - Loitering analysis
app.py - Fight analysis
app.py - Weapon detection
app.py
Alerts and Reporting
- Surveillance state
app.py - Alert snapshots
app.py - PDF report
app.py
Other components
- Dashboard user
- Camera feed
Connections 21
- Dashboard user → Web dashboard: uses
- Web dashboard → FastAPI service: sends controls
- Camera feed → Frame capture: supplies frames
- FastAPI service → Frame capture: starts capture
- Frame capture → Detection engine: submits frames
- Detection engine → YOLO inference: requests inference
- YOLO inference → YOLO weights: loads
- Detection engine → Person tracker: tracks detections
- Detection engine → Zone intrusion: evaluates
- Detection engine → Crowd analysis: evaluates
- Detection engine → Loitering analysis: evaluates
- Detection engine → Fight analysis: evaluates
- Detection engine → Weapon detection: detects objects
- Frame capture → Surveillance state: records alerts
- FastAPI service → Surveillance state: adds test alerts
- Detection engine → Alert snapshots: saves alert frame
- PDF report → Surveillance state: reads alert history
- FastAPI service → PDF report: builds report
- Frame capture → Connected clients: broadcasts frames
- FastAPI service → Connected clients: broadcasts alerts
- Connected clients → Web dashboard: streams updates