# alatorre-sebastian/qa-automation-portfolio architecture

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

- Interactive diagram: https://gitdiagram.com/alatorre-sebastian/qa-automation-portfolio
- Repository: https://github.com/alatorre-sebastian/qa-automation-portfolio

## Overview

This repository is a QA automation portfolio: an engineer runs independent browser and performance suites against a shared financial application and receives test or performance results. The README documents the suite-to-application targets and the AUT’s UI/API/database structure; source excerpts were unavailable, so internal test-call wiring is not inferred.

Main entry points: [`Makefile`](https://github.com/alatorre-sebastian/qa-automation-portfolio/blob/main/Makefile) (Unified Interface), [`apps/cypress-realworld-app`](https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/apps/cypress-realworld-app) (React Frontend), [`tests/playwright`](https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/playwright) (Playwright Suite), [`tests/cypress`](https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/cypress) (Cypress Suite)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_browser["Browser E2E"]
  node_playwright["Playwright Suite"]
  node_pw_auth["Login and Signup"]
  node_pw_finance["Accounts and Transactions"]
  node_pw_profile["Notifications and Settings"]
  node_cypress["Cypress Suite"]
  node_cy_auth["Login and Signup"]
  node_cy_finance["Accounts and Transactions"]
  node_cy_profile["Notifications and Settings"]
  node_selenium["Selenium Suite"]
  node_se_auth["Login and Signup"]
  node_se_finance["Accounts and Transactions"]
  node_se_profile["Notifications and Settings"]
end

subgraph group_performance["Performance Testing"]
  node_k6["k6 Suite"]
  node_k6_scenarios["Load and Stress"]
end

subgraph group_aut["Application Under Test"]
  node_app["Realworld App"]
  node_ui["React Frontend"]
  node_api["REST API"]
  node_db[("SQLite Database")]
end

subgraph group_orchestration["Test Orchestration"]
  node_make["Unified Interface"]
end

node_engineer(("QA Engineer"))
node_results["Test Results"]

node_engineer -->|"runs suites"| node_make
node_make -->|"orchestrates"| node_playwright
node_make -->|"orchestrates"| node_cypress
node_make -->|"orchestrates"| node_selenium
node_make -->|"orchestrates"| node_k6
node_playwright -->|"tests UI"| node_ui
node_cypress -->|"tests UI"| node_ui
node_selenium -->|"tests UI"| node_ui
node_k6 -->|"tests API"| node_api
node_app -->|"includes"| node_ui
node_app -->|"includes"| node_api
node_ui -->|"calls"| node_api
node_api -->|"reads and writes"| node_db
node_playwright -->|"produces"| node_results
node_cypress -->|"produces"| node_results
node_selenium -->|"produces"| node_results
node_k6 -->|"produces"| node_results

click node_make "https://github.com/alatorre-sebastian/qa-automation-portfolio/blob/main/Makefile"
click node_playwright "https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/playwright"
click node_pw_auth "https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/playwright/tests"
click node_pw_finance "https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/playwright/tests"
click node_pw_profile "https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/playwright/tests"
click node_cypress "https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/cypress"
click node_cy_auth "https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/cypress/e2e"
click node_cy_finance "https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/cypress/e2e"
click node_cy_profile "https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/cypress/e2e"
click node_selenium "https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/selenium"
click node_se_auth "https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/selenium/tests"
click node_se_finance "https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/selenium/tests"
click node_se_profile "https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/selenium/tests"
click node_k6 "https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/k6/scripts"
click node_k6_scenarios "https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/k6/scripts"
click node_app "https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/apps/cypress-realworld-app"
click node_ui "https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/apps/cypress-realworld-app"
click node_api "https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/apps/cypress-realworld-app"
click node_db "https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/apps/cypress-realworld-app"

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_playwright,node_pw_auth,node_pw_finance,node_pw_profile,node_cypress,node_cy_auth,node_cy_finance,node_cy_profile,node_selenium,node_se_auth,node_se_finance,node_se_profile toneBlue
class node_k6,node_k6_scenarios toneAmber
class node_app,node_ui,node_api,node_db toneMint
class node_make toneRose
class node_engineer,node_results toneIndigo
```

## Components

### Browser E2E

- [Playwright Suite](https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/playwright): `tests/playwright`
- [Login and Signup](https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/playwright/tests): `tests/playwright/tests`
- [Accounts and Transactions](https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/playwright/tests): `tests/playwright/tests`
- [Notifications and Settings](https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/playwright/tests): `tests/playwright/tests`
- [Cypress Suite](https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/cypress): `tests/cypress`
- [Login and Signup](https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/cypress/e2e): `tests/cypress/e2e`
- [Accounts and Transactions](https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/cypress/e2e): `tests/cypress/e2e`
- [Notifications and Settings](https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/cypress/e2e): `tests/cypress/e2e`
- [Selenium Suite](https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/selenium): `tests/selenium`
- [Login and Signup](https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/selenium/tests): `tests/selenium/tests`
- [Accounts and Transactions](https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/selenium/tests): `tests/selenium/tests`
- [Notifications and Settings](https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/selenium/tests): `tests/selenium/tests`

### Performance Testing

- [k6 Suite](https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/k6/scripts): `tests/k6/scripts`
- [Load and Stress](https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/tests/k6/scripts): `tests/k6/scripts`

### Application Under Test

- [Realworld App](https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/apps/cypress-realworld-app): `apps/cypress-realworld-app`
- [React Frontend](https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/apps/cypress-realworld-app): `apps/cypress-realworld-app`
- [REST API](https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/apps/cypress-realworld-app): `apps/cypress-realworld-app`
- [SQLite Database](https://github.com/alatorre-sebastian/qa-automation-portfolio/tree/main/apps/cypress-realworld-app): `apps/cypress-realworld-app`

### Test Orchestration

- [Unified Interface](https://github.com/alatorre-sebastian/qa-automation-portfolio/blob/main/Makefile): `Makefile`

### Other components

- **QA Engineer**
- **Test Results**

## Connections

- QA Engineer → Unified Interface: runs suites
- Unified Interface → Playwright Suite: orchestrates
- Unified Interface → Cypress Suite: orchestrates
- Unified Interface → Selenium Suite: orchestrates
- Unified Interface → k6 Suite: orchestrates
- Playwright Suite → React Frontend: tests UI
- Cypress Suite → React Frontend: tests UI
- Selenium Suite → React Frontend: tests UI
- k6 Suite → REST API: tests API
- Realworld App → React Frontend: includes
- Realworld App → REST API: includes
- React Frontend → REST API: calls
- REST API → SQLite Database: reads and writes
- Playwright Suite → Test Results: produces
- Cypress Suite → Test Results: produces
- Selenium Suite → Test Results: produces
- k6 Suite → Test Results: produces
