# whereisdurkong/lmd-helpdesksystem architecture

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

- Interactive diagram: https://gitdiagram.com/whereisdurkong/lmd-helpdesksystem
- Repository: https://github.com/whereisdurkong/lmd-helpdesksystem

## Overview

LMD Help-desk is a browser-based IT support system with an Express API. Its principal workflow is employees reporting issues, MIS staff managing ticket assignment and resolution, and users viewing status and feedback; the README also documents priorities, attachments, dashboards, and reporting. The tree shows separate routes for standard and PMS tickets, knowledge-base content, announcements, and turnaround-time data. Sampled code confirms app-level route dispatch, authentication database access, and selected frontend API calls; other frontend-to-API wiring and persistence details are not shown, so those links are omitted.

Main entry points: [`ticketsystemfrontend/src/routes/MainRoutes.jsx`](https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/routes/MainRoutes.jsx) (Route access), [`ticketsystemmiddleware/app.js`](https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemmiddleware/app.js) (Express API), [`ticketsystemfrontend/src/views/pmsreports/index.jsx`](https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/views/pmsreports/index.jsx) (PMS reports), [`ticketsystemmiddleware/routes/authentication.js`](https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemmiddleware/routes/authentication.js) (Authentication API)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_frontend["Help-desk frontend"]
  node_app["React app<br/>[App.jsx]"]
  node_routes["Route access<br/>[MainRoutes.jsx]"]
  node_authui["Sign in<br/>[login.jsx]"]
  node_dashboard["Dashboards<br/>[index.jsx]"]
end

subgraph group_support["Support workflows"]
  node_ticketui["Ticket workflows<br/>[index.jsx]"]
  node_ticketdetail["Ticket detail<br/>[viewhdticket.jsx]"]
  node_pmsui["PMS tickets<br/>[pms-index.jsx]"]
  node_reports["Support reports<br/>[reports.jsx]"]
  node_pmsreports["PMS reports<br/>[index.jsx]"]
  node_knowledge["Knowledge base<br/>[knowledgebase.jsx]"]
  node_announcements["Announcements<br/>[index.jsx]"]
  node_users["User management<br/>[index.jsx]"]
  node_assets["Asset views<br/>[index.jsx]"]
end

subgraph group_middleware["API services"]
  node_server["Express API<br/>[app.js]"]
  node_authapi["Authentication API<br/>[authentication.js]"]
  node_ticketapi["Ticket API<br/>[ticket.js]"]
  node_pmsapi["PMS APIs<br/>[pms.js]"]
  node_pmsticketapi["PMS ticket API<br/>[pmsticket.js]"]
  node_tatapi["Turnaround API<br/>[tat.js]"]
  node_knowledgeapi["Knowledge API<br/>[knowledgebase.js]"]
  node_announcementsapi["Announcements API<br/>[announcements.js]"]
end

subgraph group_identity["Identity and data"]
  node_sql[("SQL Server")]
  node_mail["Email service"]
end

node_employee(("Employee"))
node_mis(("MIS support"))
node_admin(("System admin"))

node_employee -->|"uses"| node_app
node_mis -->|"uses"| node_app
node_admin -->|"uses"| node_app
node_app -->|"provides router"| node_routes
node_routes -->|"routes unauthenticated"| node_authui
node_routes -->|"routes dashboard"| node_dashboard
node_routes -->|"routes tickets"| node_ticketui
node_routes -->|"routes detail"| node_ticketdetail
node_routes -->|"routes PMS"| node_pmsui
node_routes -->|"routes reports"| node_reports
node_routes -->|"routes PMS reports"| node_pmsreports
node_routes -->|"routes knowledge"| node_knowledge
node_routes -->|"routes announcements"| node_announcements
node_routes -->|"routes users"| node_users
node_routes -->|"routes assets"| node_assets
node_server -->|"mounts API"| node_authapi
node_server -->|"mounts API"| node_ticketapi
node_server -->|"mounts API"| node_pmsapi
node_server -->|"mounts API"| node_pmsticketapi
node_server -->|"mounts API"| node_tatapi
node_server -->|"mounts API"| node_knowledgeapi
node_server -->|"mounts API"| node_announcementsapi
node_ticketdetail -->|"fetches notes"| node_ticketapi
node_ticketdetail -->|"fetches note authors"| node_authapi
node_ticketdetail -->|"fetches turnaround"| node_tatapi
node_pmsreports -->|"fetches tickets"| node_pmsticketapi
node_pmsreports -->|"fetches user details"| node_authapi
node_pmsreports -->|"fetches assets"| node_pmsapi
node_pmsreports -->|"fetches turnaround"| node_tatapi
node_authapi -->|"reads and writes"| node_sql
node_authapi -.->|"sends registration mail"| node_mail

click node_app "https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/App.jsx"
click node_routes "https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/routes/MainRoutes.jsx"
click node_authui "https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/views/auth/login.jsx"
click node_dashboard "https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/views/dashboard/index.jsx"
click node_ticketui "https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/views/tickets/index.jsx"
click node_ticketdetail "https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/views/tickets/viewhdticket.jsx"
click node_pmsui "https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/views/pms/pms-index.jsx"
click node_reports "https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/views/report/reports.jsx"
click node_pmsreports "https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/views/pmsreports/index.jsx"
click node_knowledge "https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/views/knowledgebase/knowledgebase.jsx"
click node_announcements "https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/views/announcements/index.jsx"
click node_users "https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/views/users/index.jsx"
click node_assets "https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/views/pmsreports/index.jsx"
click node_server "https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemmiddleware/app.js"
click node_authapi "https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemmiddleware/routes/authentication.js"
click node_ticketapi "https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemmiddleware/routes/ticket.js"
click node_pmsapi "https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemmiddleware/routes/pms.js"
click node_pmsticketapi "https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemmiddleware/routes/pmsticket.js"
click node_tatapi "https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemmiddleware/routes/tat.js"
click node_knowledgeapi "https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemmiddleware/routes/knowledgebase.js"
click node_announcementsapi "https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemmiddleware/routes/announcements.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_app,node_routes,node_authui,node_dashboard toneBlue
class node_ticketui,node_ticketdetail,node_pmsui,node_reports,node_pmsreports,node_knowledge,node_announcements,node_users,node_assets toneAmber
class node_server,node_authapi,node_ticketapi,node_pmsapi,node_pmsticketapi,node_tatapi,node_knowledgeapi,node_announcementsapi toneMint
class node_sql,node_mail toneRose
class node_employee,node_mis,node_admin toneIndigo
```

## Components

### Help-desk frontend

- [React app](https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/App.jsx): `ticketsystemfrontend/src/App.jsx`
- [Route access](https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/routes/MainRoutes.jsx): `ticketsystemfrontend/src/routes/MainRoutes.jsx`
- [Sign in](https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/views/auth/login.jsx): `ticketsystemfrontend/src/views/auth/login.jsx`
- [Dashboards](https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/views/dashboard/index.jsx): `ticketsystemfrontend/src/views/dashboard/index.jsx`

### Support workflows

- [Ticket workflows](https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/views/tickets/index.jsx): `ticketsystemfrontend/src/views/tickets/index.jsx`
- [Ticket detail](https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/views/tickets/viewhdticket.jsx): `ticketsystemfrontend/src/views/tickets/viewhdticket.jsx`
- [PMS tickets](https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/views/pms/pms-index.jsx): `ticketsystemfrontend/src/views/pms/pms-index.jsx`
- [Support reports](https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/views/report/reports.jsx): `ticketsystemfrontend/src/views/report/reports.jsx`
- [PMS reports](https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/views/pmsreports/index.jsx): `ticketsystemfrontend/src/views/pmsreports/index.jsx`
- [Knowledge base](https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/views/knowledgebase/knowledgebase.jsx): `ticketsystemfrontend/src/views/knowledgebase/knowledgebase.jsx`
- [Announcements](https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/views/announcements/index.jsx): `ticketsystemfrontend/src/views/announcements/index.jsx`
- [User management](https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/views/users/index.jsx): `ticketsystemfrontend/src/views/users/index.jsx`
- [Asset views](https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemfrontend/src/views/pmsreports/index.jsx): `ticketsystemfrontend/src/views/pmsreports/index.jsx`

### API services

- [Express API](https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemmiddleware/app.js): `ticketsystemmiddleware/app.js`
- [Authentication API](https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemmiddleware/routes/authentication.js): `ticketsystemmiddleware/routes/authentication.js`
- [Ticket API](https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemmiddleware/routes/ticket.js): `ticketsystemmiddleware/routes/ticket.js`
- [PMS APIs](https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemmiddleware/routes/pms.js): `ticketsystemmiddleware/routes/pms.js`
- [PMS ticket API](https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemmiddleware/routes/pmsticket.js): `ticketsystemmiddleware/routes/pmsticket.js`
- [Turnaround API](https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemmiddleware/routes/tat.js): `ticketsystemmiddleware/routes/tat.js`
- [Knowledge API](https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemmiddleware/routes/knowledgebase.js): `ticketsystemmiddleware/routes/knowledgebase.js`
- [Announcements API](https://github.com/whereisdurkong/lmd-helpdesksystem/blob/main/ticketsystemmiddleware/routes/announcements.js): `ticketsystemmiddleware/routes/announcements.js`

### Identity and data

- **SQL Server**
- **Email service**

### Other components

- **Employee**
- **MIS support**
- **System admin**

## Connections

- Employee → React app: uses
- MIS support → React app: uses
- System admin → React app: uses
- React app → Route access: provides router
- Route access → Sign in: routes unauthenticated
- Route access → Dashboards: routes dashboard
- Route access → Ticket workflows: routes tickets
- Route access → Ticket detail: routes detail
- Route access → PMS tickets: routes PMS
- Route access → Support reports: routes reports
- Route access → PMS reports: routes PMS reports
- Route access → Knowledge base: routes knowledge
- Route access → Announcements: routes announcements
- Route access → User management: routes users
- Route access → Asset views: routes assets
- Express API → Authentication API: mounts API
- Express API → Ticket API: mounts API
- Express API → PMS APIs: mounts API
- Express API → PMS ticket API: mounts API
- Express API → Turnaround API: mounts API
- Express API → Knowledge API: mounts API
- Express API → Announcements API: mounts API
- Ticket detail → Ticket API: fetches notes
- Ticket detail → Authentication API: fetches note authors
- Ticket detail → Turnaround API: fetches turnaround
- PMS reports → PMS ticket API: fetches tickets
- PMS reports → Authentication API: fetches user details
- PMS reports → PMS APIs: fetches assets
- PMS reports → Turnaround API: fetches turnaround
- Authentication API → SQL Server: reads and writes
- Authentication API → Email service: sends registration mail
