# undeadnemo/starjet_soc_mbp architecture

> Architecture diagram of the GitHub repository undeadnemo/starjet_soc_mbp, 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/undeadnemo/starjet_soc_mbp
- Repository: https://github.com/undeadnemo/starjet_soc_mbp

## Overview

Starjet SOC PC is an Element Plus administration frontend for ERP identity, organization, and access management. The principal workflow is an administrator signing in, then navigating protected routes to manage departments, positions, employees, users, roles/data scopes, permission resources, sessions, audit records, and MFA. The repository also contains finance, materials, and flight-operations screens, which are preserved as product areas. The README identifies Spring Session, Redis, and HttpOnly cookies as the production authentication boundary; backend implementation is not present in this tree. Wiring beyond the sampled entry points and shared client is therefore summarized conservatively.

Main entry points: [`apps/web-ele/src/router/index.ts`](https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/router/index.ts) (Router and guards), [`apps/web-ele/src/api/admin.ts`](https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/api/admin.ts) (Admin API), [`apps/web-ele/src/api/request.ts`](https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/api/request.ts) (HTTP client), [`apps/web-ele/src/api/core/auth.ts`](https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/api/core/auth.ts) (Auth API)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_startup["App Shell"]
  node_entry["App entry<br/>[main.ts]"]
  node_bootstrap["Bootstrap<br/>[bootstrap.ts]"]
  node_router["Router and guards<br/>[index.ts]"]
end

subgraph group_access["Identity and Access"]
  node_login["Login views<br/>[login.vue]"]
  node_authstore["Auth state<br/>[auth.ts]"]
end

subgraph group_admin["Administration Domains"]
  node_system["Identity admin<br/>[index.vue]"]
  node_org["Organization admin<br/>[index.vue]"]
  node_authorization["Roles and resources<br/>[index.vue]"]
  node_security["Security oversight<br/>[index.vue]"]
end

subgraph group_operations["ERP Work Areas"]
  node_finance["Finance screens<br/>[index.vue]"]
  node_materials["Materials screens<br/>[index.vue]"]
  node_flightops["Flight operations<br/>[index.vue]"]
end

subgraph group_transport["Service Boundary"]
  node_authapi["Auth API<br/>[auth.ts]"]
  node_request["HTTP client<br/>[request.ts]"]
  node_adminapi["Admin API<br/>[admin.ts]"]
end

node_administrator(("Administrator"))
node_backend["Spring backend"]

node_administrator -->|"enters credentials"| node_login
node_entry -->|"starts app"| node_bootstrap
node_bootstrap -->|"initializes routing"| node_router
node_login -->|"requests sign-in"| node_authapi
node_authapi -->|"uses client"| node_request
node_request -->|"sends request"| node_backend
node_backend -->|"returns response"| node_request
node_authstore -->|"invokes auth calls"| node_authapi
node_router -->|"checks access state"| node_authstore
node_router -->|"routes to screens"| node_system
node_router -->|"routes to screens"| node_org
node_router -->|"routes to screens"| node_authorization
node_router -->|"routes to screens"| node_security
node_router -->|"routes to screens"| node_finance
node_router -->|"routes to screens"| node_materials
node_router -->|"routes to screens"| node_flightops
node_system -->|"uses admin API"| node_adminapi
node_org -->|"uses admin API"| node_adminapi
node_authorization -->|"uses admin API"| node_adminapi
node_security -->|"uses admin API"| node_adminapi
node_adminapi -->|"uses client"| node_request
node_finance -.->|"API wiring uncertain"| node_adminapi
node_materials -.->|"API wiring uncertain"| node_adminapi
node_flightops -.->|"API wiring uncertain"| node_adminapi

click node_entry "https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/main.ts"
click node_bootstrap "https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/bootstrap.ts"
click node_router "https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/router/index.ts"
click node_login "https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/views/_core/authentication/login.vue"
click node_authstore "https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/store/auth.ts"
click node_authapi "https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/api/core/auth.ts"
click node_request "https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/api/request.ts"
click node_system "https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/views/system/users/index.vue"
click node_org "https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/views/system/departments/index.vue"
click node_authorization "https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/views/system/roles/index.vue"
click node_security "https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/views/system/audit/index.vue"
click node_finance "https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/views/finance/payment-application/index.vue"
click node_materials "https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/views/materials/aviation-materials/index.vue"
click node_flightops "https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/views/operations/flight-plan/index.vue"
click node_adminapi "https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/api/admin.ts"

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_entry,node_bootstrap,node_router toneBlue
class node_login,node_authstore toneAmber
class node_system,node_org,node_authorization,node_security toneMint
class node_finance,node_materials,node_flightops toneRose
class node_authapi,node_request,node_adminapi,node_administrator,node_backend toneIndigo
```

## Components

### App Shell

- [App entry](https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/main.ts): `apps/web-ele/src/main.ts`
- [Bootstrap](https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/bootstrap.ts): `apps/web-ele/src/bootstrap.ts`
- [Router and guards](https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/router/index.ts): `apps/web-ele/src/router/index.ts`

### Identity and Access

- [Login views](https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/views/_core/authentication/login.vue): `apps/web-ele/src/views/_core/authentication/login.vue`
- [Auth state](https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/store/auth.ts): `apps/web-ele/src/store/auth.ts`

### Administration Domains

- [Identity admin](https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/views/system/users/index.vue): `apps/web-ele/src/views/system/users/index.vue`
- [Organization admin](https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/views/system/departments/index.vue): `apps/web-ele/src/views/system/departments/index.vue`
- [Roles and resources](https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/views/system/roles/index.vue): `apps/web-ele/src/views/system/roles/index.vue`
- [Security oversight](https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/views/system/audit/index.vue): `apps/web-ele/src/views/system/audit/index.vue`

### ERP Work Areas

- [Finance screens](https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/views/finance/payment-application/index.vue): `apps/web-ele/src/views/finance/payment-application/index.vue`
- [Materials screens](https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/views/materials/aviation-materials/index.vue): `apps/web-ele/src/views/materials/aviation-materials/index.vue`
- [Flight operations](https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/views/operations/flight-plan/index.vue): `apps/web-ele/src/views/operations/flight-plan/index.vue`

### Service Boundary

- [Auth API](https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/api/core/auth.ts): `apps/web-ele/src/api/core/auth.ts`
- [HTTP client](https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/api/request.ts): `apps/web-ele/src/api/request.ts`
- [Admin API](https://github.com/undeadnemo/starjet_soc_mbp/blob/main/apps/web-ele/src/api/admin.ts): `apps/web-ele/src/api/admin.ts`

### Other components

- **Administrator**
- **Spring backend**

## Connections

- Administrator → Login views: enters credentials
- App entry → Bootstrap: starts app
- Bootstrap → Router and guards: initializes routing
- Login views → Auth API: requests sign-in
- Auth API → HTTP client: uses client
- HTTP client → Spring backend: sends request
- Spring backend → HTTP client: returns response
- Auth state → Auth API: invokes auth calls
- Router and guards → Auth state: checks access state
- Router and guards → Identity admin: routes to screens
- Router and guards → Organization admin: routes to screens
- Router and guards → Roles and resources: routes to screens
- Router and guards → Security oversight: routes to screens
- Router and guards → Finance screens: routes to screens
- Router and guards → Materials screens: routes to screens
- Router and guards → Flight operations: routes to screens
- Identity admin → Admin API: uses admin API
- Organization admin → Admin API: uses admin API
- Roles and resources → Admin API: uses admin API
- Security oversight → Admin API: uses admin API
- Admin API → HTTP client: uses client
- Finance screens → Admin API: API wiring uncertain
- Materials screens → Admin API: API wiring uncertain
- Flight operations → Admin API: API wiring uncertain
