# ijosxh/aelosprimos architecture

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

- Interactive diagram: https://gitdiagram.com/ijosxh/aelosprimos
- Repository: https://github.com/ijosxh/aelosprimos

## Overview

Los Primos is an airport-operations web system: users access Angular workflows for registration, flight lookup, reservations, and administration; the backend exposes REST operations for flight management, check-in, and reporting. Reservations yield boarding passes, and boarding records passenger and baggage status. PostgreSQL is the documented persistence store. The sampled code shows reservation and boarding services using repositories; other feature links are limited to the README and source index, so unverified internal calls are omitted or dashed.

Main entry points: [`aeropuerto-backend/src/main/java/com/aeropuertolosprimos/aeropuerto_backend/controller`](https://github.com/ijosxh/aelosprimos/tree/main/aeropuerto-backend/src/main/java/com/aeropuertolosprimos/aeropuerto_backend/controller) (REST controllers), [`aeropuertofront/src/app/app.routes.ts`](https://github.com/ijosxh/aelosprimos/blob/main/aeropuertofront/src/app/app.routes.ts) (Web routes), [`aeropuertofront/src/app/services`](https://github.com/ijosxh/aelosprimos/tree/main/aeropuertofront/src/app/services) (API services), [`aeropuertofront/src/app/pasajero`](https://github.com/ijosxh/aelosprimos/tree/main/aeropuertofront/src/app/pasajero) (Passenger workflows)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web application"]
  node_routes["Web routes<br/>[app.routes.ts]"]
  node_passenger_ui["Passenger workflows"]
  node_flight_lookup_ui["Flight lookup"]
  node_admin_ui["Admin workflows"]
  node_boarding_ui["Boarding desk"]
  node_frontend_services["API services"]
end

subgraph group_identity["Identity"]
  node_auth["Authentication<br/>[AuthService.java]"]
  node_security["JWT security"]
  node_registration["User registration"]
end

subgraph group_operations["Flight operations"]
  node_api["REST controllers"]
  node_flight_management["Flight management"]
  node_flight_search["Flight search"]
  node_reservation["Reservations"]
  node_boarding["Passenger boarding"]
end

subgraph group_admin["Administration and reporting"]
  node_airline_admin["Airline and crew"]
  node_reports["Operational reports"]
end

subgraph group_persistence["Persistence"]
  node_repositories["JPA repositories"]
  node_database[("PostgreSQL")]
end

node_user(("Airport user"))

node_user -->|"uses"| node_routes
node_routes -->|"routes to"| node_passenger_ui
node_routes -->|"routes to"| node_flight_lookup_ui
node_routes -->|"routes to"| node_admin_ui
node_routes -->|"routes to"| node_boarding_ui
node_passenger_ui -.->|"calls"| node_frontend_services
node_flight_lookup_ui -.->|"calls"| node_frontend_services
node_admin_ui -.->|"calls"| node_frontend_services
node_boarding_ui -.->|"calls"| node_frontend_services
node_frontend_services -.->|"HTTP requests"| node_api
node_user -->|"signs in"| node_auth
node_user -->|"registers"| node_registration
node_auth -->|"uses JWT"| node_security
node_api -->|"delegates to"| node_reservation
node_reservation -->|"reads and writes"| node_repositories
node_api -.->|"delegates to"| node_boarding
node_boarding -->|"reads and writes"| node_repositories
node_reservation -.->|"provides pass"| node_boarding
node_api -.->|"delegates to"| node_flight_management
node_api -.->|"delegates to"| node_flight_search
node_api -.->|"delegates to"| node_airline_admin
node_api -->|"delegates to"| node_reports
node_flight_management -.->|"reads and writes"| node_repositories
node_flight_search -.->|"queries"| node_repositories
node_airline_admin -.->|"reads and writes"| node_repositories
node_reports -.->|"queries"| node_repositories
node_repositories -->|"persists data"| node_database

click node_routes "https://github.com/ijosxh/aelosprimos/blob/main/aeropuertofront/src/app/app.routes.ts"
click node_passenger_ui "https://github.com/ijosxh/aelosprimos/tree/main/aeropuertofront/src/app/pasajero"
click node_flight_lookup_ui "https://github.com/ijosxh/aelosprimos/blob/main/aeropuertofront/src/app/consulta/consulta-vuelo/consulta-vuelo.component.ts"
click node_admin_ui "https://github.com/ijosxh/aelosprimos/tree/main/aeropuertofront/src/app/adminaerolinea"
click node_boarding_ui "https://github.com/ijosxh/aelosprimos/blob/main/aeropuertofront/src/app/adminabordaje/abordaje/abordaje.component.ts"
click node_frontend_services "https://github.com/ijosxh/aelosprimos/tree/main/aeropuertofront/src/app/services"
click node_auth "https://github.com/ijosxh/aelosprimos/blob/main/aeropuerto-backend/src/main/java/com/aeropuertolosprimos/aeropuerto_backend/service/AuthService.java"
click node_security "https://github.com/ijosxh/aelosprimos/tree/main/aeropuerto-backend/src/main/java/com/aeropuertolosprimos/aeropuerto_backend/security"
click node_registration "https://github.com/ijosxh/aelosprimos/blob/main/aeropuerto-backend/src/main/java/com/aeropuertolosprimos/aeropuerto_backend/service/RegistroService.java"
click node_api "https://github.com/ijosxh/aelosprimos/tree/main/aeropuerto-backend/src/main/java/com/aeropuertolosprimos/aeropuerto_backend/controller"

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_routes,node_passenger_ui,node_flight_lookup_ui,node_admin_ui,node_boarding_ui,node_frontend_services,node_user toneBlue
class node_auth,node_security,node_registration toneAmber
class node_api,node_flight_management,node_flight_search,node_reservation,node_boarding toneMint
class node_airline_admin,node_reports toneRose
class node_repositories,node_database toneIndigo
```

## Components

### Web application

- [Web routes](https://github.com/ijosxh/aelosprimos/blob/main/aeropuertofront/src/app/app.routes.ts): `aeropuertofront/src/app/app.routes.ts`
- [Passenger workflows](https://github.com/ijosxh/aelosprimos/tree/main/aeropuertofront/src/app/pasajero): `aeropuertofront/src/app/pasajero`
- [Flight lookup](https://github.com/ijosxh/aelosprimos/blob/main/aeropuertofront/src/app/consulta/consulta-vuelo/consulta-vuelo.component.ts): `aeropuertofront/src/app/consulta/consulta-vuelo/consulta-vuelo.component.ts`
- [Admin workflows](https://github.com/ijosxh/aelosprimos/tree/main/aeropuertofront/src/app/adminaerolinea): `aeropuertofront/src/app/adminaerolinea`
- [Boarding desk](https://github.com/ijosxh/aelosprimos/blob/main/aeropuertofront/src/app/adminabordaje/abordaje/abordaje.component.ts): `aeropuertofront/src/app/adminabordaje/abordaje/abordaje.component.ts`
- [API services](https://github.com/ijosxh/aelosprimos/tree/main/aeropuertofront/src/app/services): `aeropuertofront/src/app/services`

### Identity

- [Authentication](https://github.com/ijosxh/aelosprimos/blob/main/aeropuerto-backend/src/main/java/com/aeropuertolosprimos/aeropuerto_backend/service/AuthService.java): `aeropuerto-backend/src/main/java/com/aeropuertolosprimos/aeropuerto_backend/service/AuthService.java`
- [JWT security](https://github.com/ijosxh/aelosprimos/tree/main/aeropuerto-backend/src/main/java/com/aeropuertolosprimos/aeropuerto_backend/security): `aeropuerto-backend/src/main/java/com/aeropuertolosprimos/aeropuerto_backend/security`
- [User registration](https://github.com/ijosxh/aelosprimos/blob/main/aeropuerto-backend/src/main/java/com/aeropuertolosprimos/aeropuerto_backend/service/RegistroService.java): `aeropuerto-backend/src/main/java/com/aeropuertolosprimos/aeropuerto_backend/service/RegistroService.java`

### Flight operations

- [REST controllers](https://github.com/ijosxh/aelosprimos/tree/main/aeropuerto-backend/src/main/java/com/aeropuertolosprimos/aeropuerto_backend/controller): `aeropuerto-backend/src/main/java/com/aeropuertolosprimos/aeropuerto_backend/controller`
- **Flight management**
- **Flight search**
- **Reservations**
- **Passenger boarding**

### Administration and reporting

- **Airline and crew**
- **Operational reports**

### Persistence

- **JPA repositories**
- **PostgreSQL**

### Other components

- **Airport user**

## Connections

- Airport user → Web routes: uses (evidence: `README.md`)
- Web routes → Passenger workflows: routes to (evidence: `aeropuertofront/src/app/app.routes.ts`)
- Web routes → Flight lookup: routes to (evidence: `aeropuertofront/src/app/app.routes.ts`)
- Web routes → Admin workflows: routes to (evidence: `aeropuertofront/src/app/app.routes.ts`)
- Web routes → Boarding desk: routes to (evidence: `aeropuertofront/src/app/app.routes.ts`)
- Passenger workflows → API services: calls
- Flight lookup → API services: calls
- Admin workflows → API services: calls
- Boarding desk → API services: calls
- API services → REST controllers: HTTP requests
- Airport user → Authentication: signs in (evidence: `README.md`)
- Airport user → User registration: registers (evidence: `README.md`)
- Authentication → JWT security: uses JWT (evidence: `aeropuerto-backend/src/main/java/com/aeropuertolosprimos/aeropuerto_backend/service/AuthService.java`)
- REST controllers → Reservations: delegates to
- Reservations → JPA repositories: reads and writes
- REST controllers → Passenger boarding: delegates to
- Passenger boarding → JPA repositories: reads and writes
- Reservations → Passenger boarding: provides pass
- REST controllers → Flight management: delegates to
- REST controllers → Flight search: delegates to
- REST controllers → Airline and crew: delegates to
- REST controllers → Operational reports: delegates to
- Flight management → JPA repositories: reads and writes
- Flight search → JPA repositories: queries
- Airline and crew → JPA repositories: reads and writes
- Operational reports → JPA repositories: queries
- JPA repositories → PostgreSQL: persists data (evidence: `README.md`)
