How qduw/cs50-final-project works
This is a small Flask security-log analyzer. Users upload a CSV of login events; the app validates and stores the rows, detects brute-force bursts, and presents summary statistics and alerts. The source shows the upload, detection, and database interactions; templates and browser assets exist, but their contents were not sampled, so their internal behavior is not inferred.
Components 11
Web interface
- Flask routes
- CSV upload
- Dashboard view
- Alerts view
- Upload page
Detection
- Brute-force detector
Persistence
- CSV validation
- DB helpers
- Log records
- Alert records
Other components
- Analyst
Connections 13
- Analyst → Flask routes: uses
- Flask routes → Upload page: renders
- Flask routes → CSV upload: dispatches
- CSV upload → CSV validation: validates with
- CSV upload → DB helpers: stores via
- DB helpers → Log records: writes
- CSV upload → Brute-force detector: runs detection
- Brute-force detector → Log records: reads
- Brute-force detector → Alert records: writes
- Flask routes → Log records: queries
- Flask routes → Alert records: queries
- Flask routes → Dashboard view: renders
- Flask routes → Alerts view: renders