# mmunozandrade/ingenieria-de-software-grupo-7 architecture

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

- Interactive diagram: https://gitdiagram.com/mmunozandrade/ingenieria-de-software-grupo-7
- Repository: https://github.com/mmunozandrade/ingenieria-de-software-grupo-7

## Overview

Aconcagua is a Flutter HR and payroll application, with administrator, manager, and employee-facing screens. The apparent workflow is role-based access followed by payroll/personnel administration or employee self-service; payroll calculations, approvals, and reporting are distinct domain stages. The source excerpts do not include Dart files, so navigation, service calls, and persistence cannot be verified. Dashed, uncited links mark only the likely entry-point and role workflows suggested by the file tree.

Main entry points: [`lib/screens/ADMIN/liquidaciones.dart`](https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/ADMIN/liquidaciones.dart) (Payroll administration), [`lib/screens/Fichausuario.dart`](https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/Fichausuario.dart) (Employee profile), [`lib/auth/auth.guard.dart`](https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/auth/auth.guard.dart) (Auth guard), [`lib/main.dart`](https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/main.dart) (Flutter entry point)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_access["Access and roles"]
  node_entry["Flutter entry point<br/>[main.dart]"]
  node_login["Sign in and registration<br/>[iniciosesion.dart]"]
  node_account["Account verification"]
  node_session["Session service"]
  node_guard["Auth guard<br/>[auth.guard.dart]"]
end

subgraph group_admin["Administration and payroll"]
  node_roles["Role assignment"]
  node_personnel["Personnel management"]
  node_employee_record["Employee records"]
  node_payroll["Payroll administration<br/>[liquidaciones.dart]"]
  node_calculations["Payroll calculations"]
  node_settlement["Termination settlement<br/>[finiquitoHub.dart]"]
  node_approvals["Requests and approvals"]
  node_reports["Payroll reports"]
end

subgraph group_manager["Manager workflows"]
  node_manager_panel["Manager summary"]
  node_team_leave["Team vacation review"]
end

subgraph group_employee["Employee self-service"]
  node_employee_profile["Employee profile<br/>[Fichausuario.dart]"]
  node_self_comp["My compensation"]
  node_payslip["Payslip access"]
  node_leave["Vacation requests"]
  node_documents["My documents<br/>[misDocumentos.dart]"]
end

node_user(("App user"))

node_user -.->|"opens app"| node_entry
node_entry -.->|"starts access"| node_login
node_login -.->|"verifies account"| node_account
node_login -.->|"manages session"| node_session
node_entry -.->|"guards access"| node_guard
node_guard -.->|"routes by role"| node_roles
node_roles -.->|"opens administration"| node_personnel
node_personnel -.->|"manages records"| node_employee_record
node_personnel -.->|"opens payroll"| node_payroll
node_payroll -.->|"calculates payroll"| node_calculations
node_payroll -.->|"handles termination"| node_settlement
node_payroll -.->|"reviews requests"| node_approvals
node_payroll -.->|"produces reports"| node_reports
node_guard -.->|"routes by role"| node_manager_panel
node_manager_panel -.->|"reviews team leave"| node_team_leave
node_guard -.->|"routes by role"| node_employee_profile
node_employee_profile -.->|"views compensation"| node_self_comp
node_employee_profile -.->|"accesses payslip"| node_payslip
node_employee_profile -.->|"requests vacation"| node_leave
node_employee_profile -.->|"views documents"| node_documents

click node_entry "https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/main.dart"
click node_login "https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/auth/iniciosesion.dart"
click node_account "https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/auth/verificarCuenta.dart"
click node_session "https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/auth/session_service.dart"
click node_guard "https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/auth/auth.guard.dart"
click node_roles "https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/ADMIN/asignacionRoles.dart"
click node_personnel "https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/ADMIN/gestionPersonal.dart"
click node_employee_record "https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/ADMIN/registroEmpleado.dart"
click node_payroll "https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/ADMIN/liquidaciones.dart"
click node_calculations "https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/ADMIN/calculoLiquidacionTotal.dart"
click node_settlement "https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/ADMIN/finiquitoHub.dart"
click node_approvals "https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/ADMIN/aprobarSolicitudesV.dart"
click node_reports "https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/ADMIN/informeRemuneraciones.dart"
click node_manager_panel "https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/JEFE/panelResumenJefe.dart"
click node_team_leave "https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/JEFE/vacacionesAreaJefe.dart"
click node_employee_profile "https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/Fichausuario.dart"
click node_self_comp "https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/USUARIO/MisCompensaciones.dart"
click node_payslip "https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/USUARIO/descargaLiquidacion.dart"
click node_leave "https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/USUARIO/solicitudVacaciones.dart"
click node_documents "https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/USUARIO/misDocumentos.dart"

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_login,node_account,node_session,node_guard,node_user toneBlue
class node_roles,node_personnel,node_employee_record,node_payroll,node_calculations,node_settlement,node_approvals,node_reports toneAmber
class node_manager_panel,node_team_leave toneMint
class node_employee_profile,node_self_comp,node_payslip,node_leave,node_documents toneRose
```

## Components

### Access and roles

- [Flutter entry point](https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/main.dart): `lib/main.dart`
- [Sign in and registration](https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/auth/iniciosesion.dart): `lib/auth/iniciosesion.dart`
- [Account verification](https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/auth/verificarCuenta.dart): `lib/auth/verificarCuenta.dart`
- [Session service](https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/auth/session_service.dart): `lib/auth/session_service.dart`
- [Auth guard](https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/auth/auth.guard.dart): `lib/auth/auth.guard.dart`

### Administration and payroll

- [Role assignment](https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/ADMIN/asignacionRoles.dart): `lib/screens/ADMIN/asignacionRoles.dart`
- [Personnel management](https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/ADMIN/gestionPersonal.dart): `lib/screens/ADMIN/gestionPersonal.dart`
- [Employee records](https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/ADMIN/registroEmpleado.dart): `lib/screens/ADMIN/registroEmpleado.dart`
- [Payroll administration](https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/ADMIN/liquidaciones.dart): `lib/screens/ADMIN/liquidaciones.dart`
- [Payroll calculations](https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/ADMIN/calculoLiquidacionTotal.dart): `lib/screens/ADMIN/calculoLiquidacionTotal.dart`
- [Termination settlement](https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/ADMIN/finiquitoHub.dart): `lib/screens/ADMIN/finiquitoHub.dart`
- [Requests and approvals](https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/ADMIN/aprobarSolicitudesV.dart): `lib/screens/ADMIN/aprobarSolicitudesV.dart`
- [Payroll reports](https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/ADMIN/informeRemuneraciones.dart): `lib/screens/ADMIN/informeRemuneraciones.dart`

### Manager workflows

- [Manager summary](https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/JEFE/panelResumenJefe.dart): `lib/screens/JEFE/panelResumenJefe.dart`
- [Team vacation review](https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/JEFE/vacacionesAreaJefe.dart): `lib/screens/JEFE/vacacionesAreaJefe.dart`

### Employee self-service

- [Employee profile](https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/Fichausuario.dart): `lib/screens/Fichausuario.dart`
- [My compensation](https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/USUARIO/MisCompensaciones.dart): `lib/screens/USUARIO/MisCompensaciones.dart`
- [Payslip access](https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/USUARIO/descargaLiquidacion.dart): `lib/screens/USUARIO/descargaLiquidacion.dart`
- [Vacation requests](https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/USUARIO/solicitudVacaciones.dart): `lib/screens/USUARIO/solicitudVacaciones.dart`
- [My documents](https://github.com/mmunozandrade/ingenieria-de-software-grupo-7/blob/master/lib/screens/USUARIO/misDocumentos.dart): `lib/screens/USUARIO/misDocumentos.dart`

### Other components

- **App user**

## Connections

- App user → Flutter entry point: opens app
- Flutter entry point → Sign in and registration: starts access
- Sign in and registration → Account verification: verifies account
- Sign in and registration → Session service: manages session
- Flutter entry point → Auth guard: guards access
- Auth guard → Role assignment: routes by role
- Role assignment → Personnel management: opens administration
- Personnel management → Employee records: manages records
- Personnel management → Payroll administration: opens payroll
- Payroll administration → Payroll calculations: calculates payroll
- Payroll administration → Termination settlement: handles termination
- Payroll administration → Requests and approvals: reviews requests
- Payroll administration → Payroll reports: produces reports
- Auth guard → Manager summary: routes by role
- Manager summary → Team vacation review: reviews team leave
- Auth guard → Employee profile: routes by role
- Employee profile → My compensation: views compensation
- Employee profile → Payslip access: accesses payslip
- Employee profile → Vacation requests: requests vacation
- Employee profile → My documents: views documents
