# sujanirig-web/suman_mobile-entry_book architecture

> Architecture diagram of the GitHub repository sujanirig-web/suman_mobile-entry_book, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/sujanirig-web/suman_mobile-entry_book
- Repository: https://github.com/sujanirig-web/suman_mobile-entry_book

## Overview

This is a mobile repair-entry and tracking system. Staff use the browser app to authenticate, browse and search repair records, create or edit entries, change repair status, and review change logs. The sampled app code uses Firebase for authentication and repair data, and sends search requests to a Worker endpoint; the repository also contains a separate Express JSON-file CRUD server. The excerpts show these as distinct backend paths, so no connection between them is asserted. Some UI and integration details are unsampled.

Main entry points: [`app.js`](https://github.com/sujanirig-web/suman_mobile-entry_book/blob/main/app.js) (Repair records), [`server.js`](https://github.com/sujanirig-web/suman_mobile-entry_book/blob/main/server.js) (Repairs API), [`repairs.json`](https://github.com/sujanirig-web/suman_mobile-entry_book/blob/main/repairs.json) (Repair JSON file)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_browser["Browser app"]
  node_app["Repair app<br/>[app.js]"]
  node_authflow["Sign-in<br/>[app.js]"]
end

subgraph group_repair["Repair workflow"]
  node_dashboard["Repair dashboard<br/>[app.js]"]
  node_calendar["Date views<br/>[app.js]"]
  node_repairentry["Repair records<br/>[app.js]"]
  node_serials["Serial numbering<br/>[app.js]"]
  node_status["Status updates<br/>[app.js]"]
  node_logs["Change log<br/>[app.js]"]
  node_search["Record search<br/>[app.js]"]
end

subgraph group_cloud["Cloud services"]
  node_firebaseauth["Firebase Auth"]
  node_firestore[("Cloud Firestore")]
  node_searchworker["Search Worker"]
end

subgraph group_local["Local API"]
  node_expressapi["Repairs API<br/>[server.js]"]
  node_filedata[("Repair JSON file<br/>[repairs.json]")]
end

node_staff(("Repair staff"))

node_staff -->|"uses"| node_app
node_app -->|"presents"| node_authflow
node_authflow -->|"signs in"| node_firebaseauth
node_staff -->|"views"| node_dashboard
node_dashboard -->|"subscribes to records"| node_firestore
node_staff -->|"selects dates"| node_calendar
node_calendar -->|"filters records"| node_firestore
node_staff -->|"enters records"| node_repairentry
node_repairentry -->|"creates or edits"| node_firestore
node_serials -->|"reads counters"| node_firestore
node_staff -->|"changes status"| node_status
node_status -->|"updates status"| node_firestore
node_staff -->|"reviews changes"| node_logs
node_logs -->|"reads and writes"| node_firestore
node_staff -->|"searches records"| node_search
node_search -->|"posts query"| node_searchworker
node_status -->|"syncs updates"| node_searchworker
node_repairentry -->|"syncs edits"| node_searchworker
node_expressapi -->|"reads and writes"| node_filedata

click node_app "https://github.com/sujanirig-web/suman_mobile-entry_book/blob/main/app.js"
click node_authflow "https://github.com/sujanirig-web/suman_mobile-entry_book/blob/main/app.js"
click node_dashboard "https://github.com/sujanirig-web/suman_mobile-entry_book/blob/main/app.js"
click node_calendar "https://github.com/sujanirig-web/suman_mobile-entry_book/blob/main/app.js"
click node_repairentry "https://github.com/sujanirig-web/suman_mobile-entry_book/blob/main/app.js"
click node_serials "https://github.com/sujanirig-web/suman_mobile-entry_book/blob/main/app.js"
click node_status "https://github.com/sujanirig-web/suman_mobile-entry_book/blob/main/app.js"
click node_logs "https://github.com/sujanirig-web/suman_mobile-entry_book/blob/main/app.js"
click node_search "https://github.com/sujanirig-web/suman_mobile-entry_book/blob/main/app.js"
click node_expressapi "https://github.com/sujanirig-web/suman_mobile-entry_book/blob/main/server.js"
click node_filedata "https://github.com/sujanirig-web/suman_mobile-entry_book/blob/main/repairs.json"

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_app,node_authflow toneBlue
class node_dashboard,node_calendar,node_repairentry,node_serials,node_status,node_logs,node_search toneAmber
class node_firebaseauth,node_firestore,node_searchworker toneMint
class node_expressapi,node_filedata toneRose
class node_staff toneIndigo
```

## Components

### Browser app

- [Repair app](https://github.com/sujanirig-web/suman_mobile-entry_book/blob/main/app.js): `app.js`
- [Sign-in](https://github.com/sujanirig-web/suman_mobile-entry_book/blob/main/app.js): `app.js`

### Repair workflow

- [Repair dashboard](https://github.com/sujanirig-web/suman_mobile-entry_book/blob/main/app.js): `app.js`
- [Date views](https://github.com/sujanirig-web/suman_mobile-entry_book/blob/main/app.js): `app.js`
- [Repair records](https://github.com/sujanirig-web/suman_mobile-entry_book/blob/main/app.js): `app.js`
- [Serial numbering](https://github.com/sujanirig-web/suman_mobile-entry_book/blob/main/app.js): `app.js`
- [Status updates](https://github.com/sujanirig-web/suman_mobile-entry_book/blob/main/app.js): `app.js`
- [Change log](https://github.com/sujanirig-web/suman_mobile-entry_book/blob/main/app.js): `app.js`
- [Record search](https://github.com/sujanirig-web/suman_mobile-entry_book/blob/main/app.js): `app.js`

### Cloud services

- **Firebase Auth**
- **Cloud Firestore**
- **Search Worker**

### Local API

- [Repairs API](https://github.com/sujanirig-web/suman_mobile-entry_book/blob/main/server.js): `server.js`
- [Repair JSON file](https://github.com/sujanirig-web/suman_mobile-entry_book/blob/main/repairs.json): `repairs.json`

### Other components

- **Repair staff**

## Connections

- Repair staff → Repair app: uses
- Repair app → Sign-in: presents (evidence: `app.js`)
- Sign-in → Firebase Auth: signs in (evidence: `app.js`)
- Repair staff → Repair dashboard: views
- Repair dashboard → Cloud Firestore: subscribes to records (evidence: `app.js`)
- Repair staff → Date views: selects dates
- Date views → Cloud Firestore: filters records (evidence: `app.js`)
- Repair staff → Repair records: enters records
- Repair records → Cloud Firestore: creates or edits (evidence: `app.js`)
- Serial numbering → Cloud Firestore: reads counters (evidence: `app.js`)
- Repair staff → Status updates: changes status
- Status updates → Cloud Firestore: updates status (evidence: `app.js`)
- Repair staff → Change log: reviews changes
- Change log → Cloud Firestore: reads and writes (evidence: `app.js`)
- Repair staff → Record search: searches records
- Record search → Search Worker: posts query (evidence: `app.js`)
- Status updates → Search Worker: syncs updates (evidence: `app.js`)
- Repair records → Search Worker: syncs edits (evidence: `app.js`)
- Repairs API → Repair JSON file: reads and writes (evidence: `server.js`)
