How alevander23/anti-bullying-app works
The repository appears to support an anti-bullying reporting and ticketing product, with a client-facing app, a staff app, Firebase functions, and a separate authenticated media server. The supplied tree contains no README or Dart application sources, so client workflows and app-to-backend wiring are only represented where the backend behavior is evidenced; platform launchers and build files are excluded.
Main entry points: storage_server/index.js Staff file serving · functions/index.js Ticket status trigger
Components 12
Ticket operations
- Ticket callables
cloud_functions/functions/index.js - Ticket status trigger
cloud_functions/functions/index.js
School reporting
- Report and school config
cloud_functions/functions/index.js
Identity and trust
- Identity and role
cloud_functions/functions/index.js - Trust factor calculation
cloud_functions/functions/index.js
Media storage
- Upload endpoint
storage_server/index.js - Staff file serving
storage_server/index.js
Other components
- Client app user
- Staff user
- Firebase Authentication
- Cloud Firestore
- Upload directory
Connections 17
- Client app user → Ticket callables: calls ticket functions
- Staff user → Ticket callables: calls ticket functions
- Ticket callables → Cloud Firestore: reads and writes
- Cloud Firestore → Ticket status trigger: triggers on update
- Ticket status trigger → Trust factor calculation: calculates trust
- Ticket status trigger → Cloud Firestore: updates trust data
- Client app user → Report and school config: submits report
- Report and school config → Cloud Firestore: reads school and saves report
- Identity and role → Cloud Firestore: checks role
- Identity and role → Firebase Authentication: sets user claims
- Client app user → Upload endpoint: uploads media
- Upload endpoint → Firebase Authentication: verifies token
- Upload endpoint → Upload directory: saves validated file
- Staff user → Staff file serving: requests media
- Staff file serving → Firebase Authentication: verifies token
- Staff file serving → Cloud Firestore: checks admin status
- Staff file serving → Upload directory: serves file