How ralphwreckeri2/revela-prod works
REVELA is a municipal geospatial compliance-monitoring system for identifying potentially unregistered businesses, managing a business registry, and coordinating field inspections. Its principal workflow runs from map-based detection and registry matching through flagged cases, inspector assignment, evidence submission, and administrative reporting. The React dashboard and Flutter field client use the Flask REST API, backed by MySQL. The README documents client/API and API/database connections; sampled backend routes and the app excerpt clarify several internal calls. Mobile application internals and some page-to-endpoint calls were not sampled.
Main entry points: app.py Flask API · App.jsx Web dashboard · auth/routes.py Auth routes · analytics/routes.py Compliance analytics
Components 20
User clients
- Web dashboard
revela_web/src/App.jsx - Mobile field app
revela_mobile
Backend API
- Flask API
revela_backend/app.py - Geospatial routes
revela_backend/api/geospatial/routes.py - Auth routes
revela_backend/api/auth/routes.py
Compliance workflows
- Business registry
revela_backend/api/registry/service.py - Business detection
revela_backend/api/flags/service.py - Inspection workflow
revela_backend/api/inspections/service.py - Compliance analytics
revela_backend/api/analytics/routes.py - Priority dispatch
revela_backend/api/analytics/dispatch.py - Analytics filters
revela_backend/api/analytics/filters.py
Identity and notifications
- Authentication
revela_backend/api/auth/service.py - User administration
revela_backend/api/users/routes.py - Access control
revela_backend/api/middleware/decorators.py - User records
revela_backend/api/models/user.py - Notifications
revela_backend/api/notifications/service.py - Admin event hub
revela_backend/api/notifications/hub.py
Other components
- Admin staff
- Field inspectors
- MySQL database
Connections 30
- Admin staff → Web dashboard: uses
README.md - Field inspectors → Mobile field app: uses
README.md - Web dashboard → Flask API: calls REST API
README.md - Mobile field app → Flask API: calls HTTPS API
README.md - Flask API → MySQL database: uses database
README.md - Flask API → Auth routes: registers routes
revela_backend/app.py - Flask API → Business registry: checks expired permits
revela_backend/app.py - Flask API → MySQL database: initializes
revela_backend/app.py - Web dashboard → Authentication: provides auth context
revela_web/src/App.jsx - Web dashboard → Business registry: opens registry view
- Web dashboard → Business detection: opens map view
- Web dashboard → Compliance analytics: opens analytics view
revela_web/src/App.jsx - Web dashboard → Inspection workflow: opens inspections view
revela_web/src/App.jsx - Auth routes → Authentication: calls
revela_backend/api/auth/routes.py - Auth routes → User records: reads user
revela_backend/api/auth/routes.py - Auth routes → Notifications: calls
revela_backend/api/auth/routes.py - Auth routes → Access control: protects routes
revela_backend/api/auth/routes.py - User administration → User records: manages accounts
revela_backend/api/users/routes.py - User administration → Admin event hub: publishes updates
revela_backend/api/users/routes.py - Business registry → Business detection: snaps new locations
revela_backend/api/registry/routes.py - Inspection workflow → Notifications: sends assignment alerts
revela_backend/api/inspections/routes.py - Compliance analytics → Priority dispatch: uses dispatch logic
revela_backend/api/analytics/routes.py - Compliance analytics → Analytics filters: uses filters
revela_backend/api/analytics/routes.py - Compliance analytics → MySQL database: queries compliance data
revela_backend/api/analytics/routes.py - Flask API → Business registry: registers registry routes
revela_backend/app.py - Flask API → Business detection: registers flag routes
revela_backend/app.py - Flask API → Inspection workflow: registers inspection routes
revela_backend/app.py - Flask API → Compliance analytics: registers analytics routes
revela_backend/app.py - Flask API → User administration: registers user routes
revela_backend/app.py - Notifications → Admin event hub: publishes events
revela_backend/api/notifications/service.py