How gaganmanku96/finding-missing-person-using-ai works
This is a Streamlit missing-person identification system with authenticated officer/admin workflows and a public sighting portal. A case flows from registration or public submission through MediaPipe landmark extraction, SQLite persistence, and admin-triggered KNN comparison. Successful matches update both records and optionally notify complainants by SMTP. The dashboard and map summarize case status by city. The graph reflects documented behavior and sampled source; some page wiring and unsampled model details are necessarily omitted.
Main entry points: db_queries.py SQLite Store · 3_Match Cases.py Match Cases · Home.py Auth Dashboard · mobile_app.py Public Submission
Components 18
Access & UI
- Auth Dashboard
Home.py - Case Management
pages/2_All Cases.py - City Map
pages/5_Map.py - Login Credentials
login_config.yml
Case Intake
- Case Registration
pages/1_Register New Case.py - Public Submission
mobile_app.py - Face Processing
pages/helper/utils.py
Matching Engine
- Model Training
pages/helper/train_model.py - Case Matching
pages/helper/match_algo.py - Match Cases
pages/3_Match Cases.py
Storage
- Case Records
pages/helper/data_models.py - SQLite Store
pages/helper/db_queries.py - Image Store
resources
Outcomes
- Email Notifications
pages/helper/emailer.py - Status Updates
pages/helper/db_queries.py
Other components
- Officer / Admin
- Public Submitter
- SMTP Service
Connections 23
- Officer / Admin → Auth Dashboard: opens portal
- Public Submitter → Public Submission: submits sighting
- Auth Dashboard → Login Credentials: reads credentials
- Auth Dashboard → SQLite Store: reads counts
- Auth Dashboard → City Map: shows dashboard
- Case Registration → Face Processing: extracts faces
- Case Registration → Image Store: writes image
- Case Registration → Case Records: creates case
- Public Submission → Face Processing: extracts faces
- Public Submission → Image Store: writes image
- Public Submission → Case Records: creates sighting
- Case Records → SQLite Store: persists records
- Model Training → SQLite Store: reads training data
- Match Cases → Model Training: trains model
- Match Cases → Case Matching: runs matching
- Case Matching → SQLite Store: reads face data
- Match Cases → Status Updates: updates matches
- Status Updates → SQLite Store: writes statuses
- Match Cases → Email Notifications: sends alerts
- Case Management → SQLite Store: reads cases
- Case Management → Email Notifications: sends notifications
- Email Notifications → SMTP Service: delivers email
- City Map → SQLite Store: reads city counts