How mahlatsim/campus-safety works
Campus Safety Dashboard is a Streamlit platform for authenticated incident reporting and campus safety information. A user registers or logs in, can submit a geolocated report subject to a daily limit, and views reports, safe routes, secure areas, and analytics. The root app and its authentication handler provide the clearest sampled implementation; the README also documents a demo-data streaming path through Kafka into PostgreSQL. STREAM contains parallel app, auth, producer, and consumer copies. Their broader equivalence is apparent from the tree and excerpts, but their full behavior was not inspected.
Main entry points: app.py Dashboard app · auth_handlers.py Authentication · consumer.py Kafka consumer · STREAM/consumer.py Kafka consumer
Components 16
User experience
- Dashboard app
app.py - Dashboard app
STREAM/app.py - Dashboard app
STREAM/CampusSafety/app.py
Authentication
- Authentication
auth/auth_handlers.py - Authentication
STREAM/auth/auth_handlers.py - Authentication
STREAM/CampusSafety/auth/auth_handlers.py
Demo streaming
- Demo producer
producer.py - Demo producer
STREAM/producer.py - Demo producer
STREAM/CampusSafety/producer.py - Kafka consumer
consumer.py - Kafka consumer
STREAM/consumer.py - Kafka consumer
STREAM/CampusSafety/consumer.py
Data services
- PostgreSQL
Other components
- Campus user
- Geoapify
- Apache Kafka
Connections 16
- Campus user → Dashboard app: uses
readme.md - Dashboard app → Authentication: renders auth
app.py - Dashboard app → PostgreSQL: reads and writes
readme.md - Dashboard app → Geoapify: geocodes locations
app.py - Dashboard app → Authentication: renders auth
STREAM/app.py - Dashboard app → Authentication: renders auth
STREAM/CampusSafety/app.py - Authentication → PostgreSQL: queries users
auth/auth_handlers.py - Demo producer → Apache Kafka: publishes events
producer.py - Apache Kafka → Kafka consumer: delivers events
readme.md - Kafka consumer → PostgreSQL: inserts records
consumer.py - Demo producer → Apache Kafka: publishes events
STREAM/producer.py - Apache Kafka → Kafka consumer: delivers events
- Kafka consumer → PostgreSQL: inserts records
STREAM/consumer.py - Demo producer → Apache Kafka: publishes events
STREAM/CampusSafety/producer.py - Apache Kafka → Kafka consumer: delivers events
- Kafka consumer → PostgreSQL: inserts records
STREAM/CampusSafety/consumer.py