# naye0254/cursos-tec architecture

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

- Interactive diagram: https://gitdiagram.com/naye0254/cursos-tec
- Repository: https://github.com/naye0254/cursos-tec

## Overview

EAW is a web platform for coordinating accessibility evaluations, collecting manual evaluator findings, and presenting results to consultants. Its domain workflow spans evaluation assignment and specification, page-by-page review, and reporting/statistics; administrators also manage clients, evaluators, and evaluation configuration. The graph includes the sampled specification queries and scraping persistence layer, plus major product areas visible in the tree. The README is empty and most source was not sampled, so uncertain API dispatch and subsystem wiring are omitted.

Main entry points: [`eaw-develop/front-end/eaw/src/app/evaluator/manual-evaluation/manual-evaluation.service.ts`](https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/front-end/eaw/src/app/evaluator/manual-evaluation/manual-evaluation.service.ts) (Evaluation service), [`eaw-develop/back-end/api-eaw/common/consultant/results/consultant-results.js`](https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/common/consultant/results/consultant-results.js) (Evaluation results), [`eaw-develop/front-end/eaw/src/app/administrator/administrator.module.ts`](https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/front-end/eaw/src/app/administrator/administrator.module.ts) (Administrator area), [`eaw-develop/front-end/eaw/src/app/app.module.ts`](https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/front-end/eaw/src/app/app.module.ts) (Role-based application)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["User experience"]
  node_web["Role-based application<br/>[app.module.ts]"]
  node_auth["Access guard"]
end

subgraph group_evaluation["Evaluation workflow"]
  node_evaluator_ui["Manual evaluation UI"]
  node_evaluator_service["Evaluation service"]
  node_form_load["Evaluation form loading<br/>[load-services.js]"]
  node_form_save["Evaluation form saving<br/>[save-services.js]"]
  node_specifications["Specification manager"]
end

subgraph group_insights["Results and reporting"]
  node_consultant_ui["Consultant evaluations"]
  node_consultant_results["Evaluation results"]
  node_statistics["Evaluation statistics"]
  node_reports["Report generation<br/>[reportGenerator.js]"]
end

subgraph group_operations["Administration and infrastructure"]
  node_admin_ui["Administrator area"]
  node_client_admin["Client management<br/>[client-manager.js]"]
  node_evaluator_admin["Evaluator management"]
  node_scraping["Site scraping"]
  node_scrape_store["Scrape persistence"]
  node_api["EAW API server<br/>[server.js]"]
  node_queue["Queue API<br/>[server.js]"]
  node_mysql[("Relational models<br/>[Evaluations.js]")]
  node_mongo[("MongoDB datasource")]
end

node_user(("Evaluator / consultant"))
node_client(("Client"))

node_user -->|"uses"| node_web
node_client -->|"uses"| node_web
node_web -->|"checks access"| node_auth
node_user -->|"performs review"| node_evaluator_ui
node_evaluator_ui -->|"uses"| node_evaluator_service
node_evaluator_service -->|"loads form"| node_form_load
node_evaluator_service -->|"saves answers"| node_form_save
node_specifications -->|"queries models"| node_mysql
node_client -->|"reviews evaluations"| node_consultant_ui
node_consultant_ui -->|"requests results"| node_consultant_results
node_consultant_results -.->|"provides statistics"| node_statistics
node_consultant_results -.->|"generates reports"| node_reports
node_user -->|"administers"| node_admin_ui
node_admin_ui -->|"manages clients"| node_client_admin
node_admin_ui -->|"manages evaluators"| node_evaluator_admin
node_scraping -->|"persists crawl data"| node_scrape_store
node_scrape_store -->|"reads and writes"| node_mongo
node_api -->|"configures models"| node_mysql

click node_web "https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/front-end/eaw/src/app/app.module.ts"
click node_auth "https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/front-end/eaw/src/app/utils/can-activate/auth-guard.service.ts"
click node_evaluator_ui "https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/front-end/eaw/src/app/evaluator/manual-evaluation/manual-evaluation.component.ts"
click node_evaluator_service "https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/front-end/eaw/src/app/evaluator/manual-evaluation/manual-evaluation.service.ts"
click node_form_load "https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/common/evaluator/form-services/load-services.js"
click node_form_save "https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/common/evaluator/form-services/save-services.js"
click node_specifications "https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/common/evaluator/speficications-manager/specifications-manager.js"
click node_consultant_ui "https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/front-end/eaw/src/app/direct-consultant/evaluations/evaluations.service.ts"
click node_consultant_results "https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/common/consultant/results/consultant-results.js"
click node_statistics "https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/common/consultant/statistict/consultant-statistics.js"
click node_reports "https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/common/consultant/reports/reportGenerator.js"
click node_admin_ui "https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/front-end/eaw/src/app/administrator/administrator.module.ts"
click node_client_admin "https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/common/super-admin/clients-manage/client-manager.js"
click node_evaluator_admin "https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/common/super-admin/evaluators-manage/evaluator-manager.js"
click node_scraping "https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/common/administrator/scrapping/scraping-service.js"
click node_scrape_store "https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/common/administrator/scrapping/WebScrapingMongoManager.js"
click node_api "https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/server/server.js"
click node_queue "https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-queue/server/server.js"
click node_mysql "https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/common/models/mysql/Evaluations/Evaluations.js"
click node_mongo "https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/common/administrator/scrapping/WebScrapingMongoManager.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_web,node_auth,node_client toneBlue
class node_evaluator_ui,node_evaluator_service,node_form_load,node_form_save,node_specifications toneAmber
class node_consultant_ui,node_consultant_results,node_statistics,node_reports toneMint
class node_admin_ui,node_client_admin,node_evaluator_admin,node_scraping,node_scrape_store,node_api,node_queue,node_mysql,node_mongo toneRose
class node_user toneIndigo
```

## Components

### User experience

- [Role-based application](https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/front-end/eaw/src/app/app.module.ts): `eaw-develop/front-end/eaw/src/app/app.module.ts`
- [Access guard](https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/front-end/eaw/src/app/utils/can-activate/auth-guard.service.ts): `eaw-develop/front-end/eaw/src/app/utils/can-activate/auth-guard.service.ts`

### Evaluation workflow

- [Manual evaluation UI](https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/front-end/eaw/src/app/evaluator/manual-evaluation/manual-evaluation.component.ts): `eaw-develop/front-end/eaw/src/app/evaluator/manual-evaluation/manual-evaluation.component.ts`
- [Evaluation service](https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/front-end/eaw/src/app/evaluator/manual-evaluation/manual-evaluation.service.ts): `eaw-develop/front-end/eaw/src/app/evaluator/manual-evaluation/manual-evaluation.service.ts`
- [Evaluation form loading](https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/common/evaluator/form-services/load-services.js): `eaw-develop/back-end/api-eaw/common/evaluator/form-services/load-services.js`
- [Evaluation form saving](https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/common/evaluator/form-services/save-services.js): `eaw-develop/back-end/api-eaw/common/evaluator/form-services/save-services.js`
- [Specification manager](https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/common/evaluator/speficications-manager/specifications-manager.js): `eaw-develop/back-end/api-eaw/common/evaluator/speficications-manager/specifications-manager.js`

### Results and reporting

- [Consultant evaluations](https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/front-end/eaw/src/app/direct-consultant/evaluations/evaluations.service.ts): `eaw-develop/front-end/eaw/src/app/direct-consultant/evaluations/evaluations.service.ts`
- [Evaluation results](https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/common/consultant/results/consultant-results.js): `eaw-develop/back-end/api-eaw/common/consultant/results/consultant-results.js`
- [Evaluation statistics](https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/common/consultant/statistict/consultant-statistics.js): `eaw-develop/back-end/api-eaw/common/consultant/statistict/consultant-statistics.js`
- [Report generation](https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/common/consultant/reports/reportGenerator.js): `eaw-develop/back-end/api-eaw/common/consultant/reports/reportGenerator.js`

### Administration and infrastructure

- [Administrator area](https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/front-end/eaw/src/app/administrator/administrator.module.ts): `eaw-develop/front-end/eaw/src/app/administrator/administrator.module.ts`
- [Client management](https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/common/super-admin/clients-manage/client-manager.js): `eaw-develop/back-end/api-eaw/common/super-admin/clients-manage/client-manager.js`
- [Evaluator management](https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/common/super-admin/evaluators-manage/evaluator-manager.js): `eaw-develop/back-end/api-eaw/common/super-admin/evaluators-manage/evaluator-manager.js`
- [Site scraping](https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/common/administrator/scrapping/scraping-service.js): `eaw-develop/back-end/api-eaw/common/administrator/scrapping/scraping-service.js`
- [Scrape persistence](https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/common/administrator/scrapping/WebScrapingMongoManager.js): `eaw-develop/back-end/api-eaw/common/administrator/scrapping/WebScrapingMongoManager.js`
- [EAW API server](https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/server/server.js): `eaw-develop/back-end/api-eaw/server/server.js`
- [Queue API](https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-queue/server/server.js): `eaw-develop/back-end/api-queue/server/server.js`
- [Relational models](https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/common/models/mysql/Evaluations/Evaluations.js): `eaw-develop/back-end/api-eaw/common/models/mysql/Evaluations/Evaluations.js`
- [MongoDB datasource](https://github.com/naye0254/cursos-tec/blob/main/eaw-develop/back-end/api-eaw/common/administrator/scrapping/WebScrapingMongoManager.js): `eaw-develop/back-end/api-eaw/common/administrator/scrapping/WebScrapingMongoManager.js`

### Other components

- **Evaluator / consultant**
- **Client**

## Connections

- Evaluator / consultant → Role-based application: uses
- Client → Role-based application: uses
- Role-based application → Access guard: checks access
- Evaluator / consultant → Manual evaluation UI: performs review
- Manual evaluation UI → Evaluation service: uses
- Evaluation service → Evaluation form loading: loads form
- Evaluation service → Evaluation form saving: saves answers
- Specification manager → Relational models: queries models
- Client → Consultant evaluations: reviews evaluations
- Consultant evaluations → Evaluation results: requests results
- Evaluation results → Evaluation statistics: provides statistics
- Evaluation results → Report generation: generates reports
- Evaluator / consultant → Administrator area: administers
- Administrator area → Client management: manages clients
- Administrator area → Evaluator management: manages evaluators
- Site scraping → Scrape persistence: persists crawl data
- Scrape persistence → MongoDB datasource: reads and writes
- EAW API server → Relational models: configures models
