# jietrylcanete/maintenance_angular architecture

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

- Interactive diagram: https://gitdiagram.com/jietrylcanete/maintenance_angular
- Repository: https://github.com/jietrylcanete/maintenance_angular

## Overview

This Angular application combines signup, email verification, login and password recovery with account administration, profile management, maintenance requests, staff assignments and activity history. Users enter through the routed account or application views; the account service implements authentication and account operations against an HTTP API, while feature routes expose the maintenance and administrative workflows. The source excerpts show routing and account-service behavior, but not most feature-to-service calls or the backend implementation, so those relationships are not asserted.

Main entry points: [`src/app/app-routing.module.ts`](https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/app-routing.module.ts) (Application routes), [`src/app/maintenance/maintenance-routing.module.ts`](https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/maintenance/maintenance-routing.module.ts) (Maintenance routes), [`src/app/admin/admin-routing.module.ts`](https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/admin/admin-routing.module.ts) (Admin routes), [`src/app/_services/maintenance.service.ts`](https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/_services/maintenance.service.ts) (Maintenance service)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_auth["Authentication"]
  node_account_routes["Account routes"]
  node_account_ui["Account access<br/>[login.component.ts]"]
  node_profile["Profile management"]
end

subgraph group_maintenance["Maintenance workflow"]
  node_maintenance_routes["Maintenance routes"]
  node_request_create["Create request"]
  node_request_list["Request lists<br/>[list.component.ts]"]
  node_staff_requests["Staff assignments"]
  node_staff_admin["Staff maintenance view"]
end

subgraph group_admin["Administration"]
  node_admin_routes["Admin routes"]
  node_admin_overview["Admin overview"]
  node_admin_accounts["Account administration"]
  node_admin_maintenance["Request administration"]
end

subgraph group_shared["Application services"]
  node_app_routes["Application routes"]
  node_account_service["Account service<br/>[account.service.ts]"]
  node_maintenance_service["Maintenance service"]
  node_activity["Activity history"]
  node_activity_service["Activity service"]
  node_alerts["Alerts<br/>[alert.service.ts]"]
  node_fake_backend["Fake backend<br/>[fake-backend.ts]"]
end

node_user(("User"))
node_api{{"HTTP API"}}

node_user -->|"navigates"| node_app_routes
node_app_routes -->|"loads account"| node_account_routes
node_account_routes -->|"routes to"| node_account_ui
node_account_ui -.->|"submits auth"| node_account_service
node_account_service -->|"sends account requests"| node_api
node_app_routes -->|"loads profile"| node_profile
node_app_routes -->|"loads maintenance"| node_maintenance_routes
node_maintenance_routes -->|"routes to"| node_request_create
node_maintenance_routes -->|"routes to"| node_request_list
node_maintenance_routes -->|"routes to"| node_staff_requests
node_request_create -.->|"uses service"| node_maintenance_service
node_request_list -.->|"uses service"| node_maintenance_service
node_staff_requests -.->|"uses service"| node_maintenance_service
node_app_routes -->|"loads admin"| node_admin_routes
node_admin_routes -->|"routes to"| node_admin_overview
node_admin_routes -->|"loads accounts"| node_admin_accounts
node_admin_routes -->|"routes to"| node_admin_maintenance
node_app_routes -->|"loads activity"| node_activity
node_activity -.->|"uses service"| node_activity_service

click node_app_routes "https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/app-routing.module.ts"
click node_account_routes "https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/account/account-routing.module.ts"
click node_account_ui "https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/account/login.component.ts"
click node_account_service "https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/_services/account.service.ts"
click node_profile "https://github.com/jietrylcanete/maintenance_angular/tree/main/src/app/profile"
click node_maintenance_routes "https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/maintenance/maintenance-routing.module.ts"
click node_request_create "https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/maintenance/create.component.ts"
click node_request_list "https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/maintenance/list.component.ts"
click node_staff_requests "https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/maintenance/staff-list.component.ts"
click node_staff_admin "https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/staff/maintenance/maintenance-list.component.ts"
click node_maintenance_service "https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/_services/maintenance.service.ts"
click node_admin_routes "https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/admin/admin-routing.module.ts"
click node_admin_overview "https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/admin/overview.component.ts"
click node_admin_accounts "https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/admin/accounts/add-edit.component.ts"
click node_admin_maintenance "https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/admin/maintenance/maintenance-list.component.ts"
click node_activity "https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/activity/activity.component.ts"
click node_activity_service "https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/_services/activity.service.ts"
click node_alerts "https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/_services/alert.service.ts"
click node_fake_backend "https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/_helpers/fake-backend.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_account_routes,node_account_ui,node_profile,node_user toneBlue
class node_maintenance_routes,node_request_create,node_request_list,node_staff_requests,node_staff_admin toneAmber
class node_admin_routes,node_admin_overview,node_admin_accounts,node_admin_maintenance,node_api toneMint
class node_app_routes,node_account_service,node_maintenance_service,node_activity,node_activity_service,node_alerts,node_fake_backend toneRose
```

## Components

### Authentication

- [Account routes](https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/account/account-routing.module.ts): `src/app/account/account-routing.module.ts`
- [Account access](https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/account/login.component.ts): `src/app/account/login.component.ts`
- [Profile management](https://github.com/jietrylcanete/maintenance_angular/tree/main/src/app/profile): `src/app/profile`

### Maintenance workflow

- [Maintenance routes](https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/maintenance/maintenance-routing.module.ts): `src/app/maintenance/maintenance-routing.module.ts`
- [Create request](https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/maintenance/create.component.ts): `src/app/maintenance/create.component.ts`
- [Request lists](https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/maintenance/list.component.ts): `src/app/maintenance/list.component.ts`
- [Staff assignments](https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/maintenance/staff-list.component.ts): `src/app/maintenance/staff-list.component.ts`
- [Staff maintenance view](https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/staff/maintenance/maintenance-list.component.ts): `src/app/staff/maintenance/maintenance-list.component.ts`

### Administration

- [Admin routes](https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/admin/admin-routing.module.ts): `src/app/admin/admin-routing.module.ts`
- [Admin overview](https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/admin/overview.component.ts): `src/app/admin/overview.component.ts`
- [Account administration](https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/admin/accounts/add-edit.component.ts): `src/app/admin/accounts/add-edit.component.ts`
- [Request administration](https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/admin/maintenance/maintenance-list.component.ts): `src/app/admin/maintenance/maintenance-list.component.ts`

### Application services

- [Application routes](https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/app-routing.module.ts): `src/app/app-routing.module.ts`
- [Account service](https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/_services/account.service.ts): `src/app/_services/account.service.ts`
- [Maintenance service](https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/_services/maintenance.service.ts): `src/app/_services/maintenance.service.ts`
- [Activity history](https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/activity/activity.component.ts): `src/app/activity/activity.component.ts`
- [Activity service](https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/_services/activity.service.ts): `src/app/_services/activity.service.ts`
- [Alerts](https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/_services/alert.service.ts): `src/app/_services/alert.service.ts`
- [Fake backend](https://github.com/jietrylcanete/maintenance_angular/blob/main/src/app/_helpers/fake-backend.ts): `src/app/_helpers/fake-backend.ts`

### Other components

- **User**
- **HTTP API**

## Connections

- User → Application routes: navigates (evidence: `src/app/app-routing.module.ts`)
- Application routes → Account routes: loads account (evidence: `src/app/app-routing.module.ts`)
- Account routes → Account access: routes to (evidence: `src/app/account/account-routing.module.ts`)
- Account access → Account service: submits auth
- Account service → HTTP API: sends account requests (evidence: `src/app/_services/account.service.ts`)
- Application routes → Profile management: loads profile (evidence: `src/app/app-routing.module.ts`)
- Application routes → Maintenance routes: loads maintenance (evidence: `src/app/app-routing.module.ts`)
- Maintenance routes → Create request: routes to (evidence: `src/app/maintenance/maintenance-routing.module.ts`)
- Maintenance routes → Request lists: routes to (evidence: `src/app/maintenance/maintenance-routing.module.ts`)
- Maintenance routes → Staff assignments: routes to (evidence: `src/app/maintenance/maintenance-routing.module.ts`)
- Create request → Maintenance service: uses service
- Request lists → Maintenance service: uses service
- Staff assignments → Maintenance service: uses service
- Application routes → Admin routes: loads admin (evidence: `src/app/app-routing.module.ts`)
- Admin routes → Admin overview: routes to (evidence: `src/app/admin/admin-routing.module.ts`)
- Admin routes → Account administration: loads accounts (evidence: `src/app/admin/admin-routing.module.ts`)
- Admin routes → Request administration: routes to (evidence: `src/app/admin/admin-routing.module.ts`)
- Application routes → Activity history: loads activity (evidence: `src/app/app-routing.module.ts`)
- Activity history → Activity service: uses service
