# shevaughn101/ja-accident-report-frontend architecture

> Architecture diagram of the GitHub repository shevaughn101/ja-accident-report-frontend, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/shevaughn101/ja-accident-report-frontend
- Repository: https://github.com/shevaughn101/ja-accident-report-frontend

## Overview

The file tree suggests a browser-based incident platform with civilian reporting and review, officer and admin views, and an insurance portal. The only sampled implementation is firebase-config.js: it initializes Firebase Auth, Firestore, and Storage, and provides authenticated API-fetch support. Page contents and wiring were not sampled, so their links and data flows cannot be established; the page groupings below reflect their filenames, not verified navigation.

Main entry points: [`firebase-config.js`](https://github.com/shevaughn101/ja-accident-report-frontend/blob/main/firebase-config.js) (Firebase configuration)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_civilian["Civilian experience"]
  node_report["Incident report"]
  node_upload["Evidence upload"]
  node_review["Report review"]
  node_profile["Civilian profile"]
end

subgraph group_operations["Incident operations"]
  node_feed["Officer feed<br/>[officer_feed.html]"]
  node_dashboard["Admin dashboard"]
  node_portal["Insurance portal"]
end

subgraph group_shared["Shared services"]
  node_landing["Home<br/>[index.html]"]
  node_login["Login<br/>[login.html]"]
  node_config["Firebase configuration<br/>[firebase-config.js]"]
  node_auth["Firebase Auth"]
  node_firestore[("Cloud Firestore")]
  node_storage["Firebase Storage"]
  node_api["HTTP API"]
end

node_civilian(("Civilian"))
node_officer(("Officer"))
node_admin(("Administrator"))
node_insurer(("Insurer"))

node_config -->|"initializes"| node_auth
node_config -->|"initializes"| node_firestore
node_config -->|"initializes"| node_storage
node_config -->|"authenticated fetch"| node_api

click node_landing "https://github.com/shevaughn101/ja-accident-report-frontend/blob/main/index.html"
click node_login "https://github.com/shevaughn101/ja-accident-report-frontend/blob/main/login.html"
click node_report "https://github.com/shevaughn101/ja-accident-report-frontend/blob/main/civilian_report.html"
click node_upload "https://github.com/shevaughn101/ja-accident-report-frontend/blob/main/civilian_upload.html"
click node_review "https://github.com/shevaughn101/ja-accident-report-frontend/blob/main/civilian_review.html"
click node_profile "https://github.com/shevaughn101/ja-accident-report-frontend/blob/main/civilian_profile.html"
click node_feed "https://github.com/shevaughn101/ja-accident-report-frontend/blob/main/officer_feed.html"
click node_dashboard "https://github.com/shevaughn101/ja-accident-report-frontend/blob/main/admin_dashboard.html"
click node_portal "https://github.com/shevaughn101/ja-accident-report-frontend/blob/main/insurance_portal.html"
click node_config "https://github.com/shevaughn101/ja-accident-report-frontend/blob/main/firebase-config.js"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_report,node_upload,node_review,node_profile toneBlue
class node_feed,node_dashboard,node_portal toneAmber
class node_landing,node_login,node_config,node_auth,node_firestore,node_storage,node_api toneMint
class node_civilian,node_officer,node_admin,node_insurer toneIndigo
```

## Components

### Civilian experience

- [Incident report](https://github.com/shevaughn101/ja-accident-report-frontend/blob/main/civilian_report.html): `civilian_report.html`
- [Evidence upload](https://github.com/shevaughn101/ja-accident-report-frontend/blob/main/civilian_upload.html): `civilian_upload.html`
- [Report review](https://github.com/shevaughn101/ja-accident-report-frontend/blob/main/civilian_review.html): `civilian_review.html`
- [Civilian profile](https://github.com/shevaughn101/ja-accident-report-frontend/blob/main/civilian_profile.html): `civilian_profile.html`

### Incident operations

- [Officer feed](https://github.com/shevaughn101/ja-accident-report-frontend/blob/main/officer_feed.html): `officer_feed.html`
- [Admin dashboard](https://github.com/shevaughn101/ja-accident-report-frontend/blob/main/admin_dashboard.html): `admin_dashboard.html`
- [Insurance portal](https://github.com/shevaughn101/ja-accident-report-frontend/blob/main/insurance_portal.html): `insurance_portal.html`

### Shared services

- [Home](https://github.com/shevaughn101/ja-accident-report-frontend/blob/main/index.html): `index.html`
- [Login](https://github.com/shevaughn101/ja-accident-report-frontend/blob/main/login.html): `login.html`
- [Firebase configuration](https://github.com/shevaughn101/ja-accident-report-frontend/blob/main/firebase-config.js): `firebase-config.js`
- **Firebase Auth**
- **Cloud Firestore**
- **Firebase Storage**
- **HTTP API**

### Other components

- **Civilian**
- **Officer**
- **Administrator**
- **Insurer**

## Connections

- Firebase configuration → Firebase Auth: initializes
- Firebase configuration → Cloud Firestore: initializes
- Firebase configuration → Firebase Storage: initializes
- Firebase configuration → HTTP API: authenticated fetch
