# joseph30070/sistema-sigep architecture

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

- Interactive diagram: https://gitdiagram.com/joseph30070/sistema-sigep
- Repository: https://github.com/joseph30070/sistema-sigep

## Overview

This is a personnel-management web application: React provides role-oriented screens, while a Laravel REST API manages organizational structure, projects, activities, reviews, and performance. The principal workflow assigns project activities, records progress, submits completed work for supervisor review, and preserves progress and review history. The graph includes major README capabilities and substantial indexed models. Some controllers and pages were not sampled; their subsystem nodes and links are limited to documented routes or explicit references, with uncertain cross-system wiring marked optional.

Main entry points: [`backend/routes/api.php`](https://github.com/joseph30070/sistema-sigep/blob/main/backend/routes/api.php) (API routes), [`backend/app/Models/Actividad.php`](https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Models/Actividad.php) (Activities), [`backend/app/Http/Controllers/Api/DashboardController.php`](https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Http/Controllers/Api/DashboardController.php) (Dashboard API), [`frontend/src/App.jsx`](https://github.com/joseph30070/sistema-sigep/blob/main/frontend/src/App.jsx) (React routes)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_frontend["Web application"]
  node_app["React routes<br/>[App.jsx]"]
  node_auth["Authentication state<br/>[AuthContext.jsx]"]
  node_client["HTTP client<br/>[api.js]"]
  node_workui["Work screens"]
  node_dashui["Dashboard screen<br/>[Dashboard.jsx]"]
  node_activityui["Activity detail"]
  node_evalui["Evaluation screen<br/>[Evaluaciones.jsx]"]
end

subgraph group_api["REST API"]
  node_routes["API routes<br/>[api.php]"]
  node_authapi["Authentication API<br/>[AuthController.php]"]
  node_activityapi["Activity API"]
  node_reviewapi["Review API"]
  node_advanceapi["Progress API"]
  node_dashapi["Dashboard API"]
  node_evalapi["Evaluation API"]
  node_otherapi["Other management APIs"]
  node_basecontroller["Controller base<br/>[Controller.php]"]
end

subgraph group_work["Work management"]
  node_activity[("Activities<br/>[Actividad.php]")]
  node_progress[("Progress history<br/>[Avance.php]")]
  node_reviews[("Review history")]
  node_project[("Projects<br/>[Proyecto.php]")]
  node_notification[("Notifications<br/>[Notificacion.php]")]
  node_audit[("Audit log")]
end

subgraph group_people["People and evaluation"]
  node_userstore[("User records<br/>[User.php]")]
  node_org[("Teams and departments")]
  node_objectives[("Performance objectives")]
  node_evaluations[("Performance evaluations")]
  node_details[("Evaluation criteria details")]
end

node_user(("System users"))

node_user -->|"uses"| node_app
node_app -->|"provides auth"| node_auth
node_app -->|"routes to"| node_workui
node_app -->|"routes to"| node_dashui
node_app -->|"routes to"| node_activityui
node_app -->|"routes to"| node_evalui
node_auth -->|"calls"| node_client
node_dashui -->|"calls"| node_client
node_activityui -->|"calls"| node_client
node_client -.->|"requests"| node_routes
node_routes -->|"dispatches"| node_authapi
node_routes -->|"dispatches"| node_activityapi
node_routes -->|"dispatches"| node_reviewapi
node_routes -->|"dispatches"| node_advanceapi
node_routes -->|"dispatches"| node_dashapi
node_routes -->|"dispatches"| node_evalapi
node_routes -->|"dispatches"| node_otherapi
node_activityapi -->|"reads and writes"| node_activity
node_activityapi -->|"records"| node_audit
node_activityapi -->|"creates"| node_notification
node_reviewapi -->|"updates"| node_activity
node_reviewapi -->|"records"| node_reviews
node_reviewapi -->|"creates"| node_notification
node_advanceapi -.->|"records"| node_progress
node_dashapi -->|"queries"| node_activity
node_dashapi -->|"queries"| node_project
node_dashapi -->|"queries"| node_org
node_dashapi -->|"queries"| node_userstore
node_dashapi -->|"queries"| node_objectives
node_dashapi -->|"queries"| node_evaluations
node_evalapi -->|"calculates metrics"| node_activity
node_evalapi -->|"creates"| node_evaluations
node_evalapi -->|"creates"| node_details
node_evalapi -->|"records"| node_audit
node_activity -->|"belongs to"| node_project
node_activity -->|"has history"| node_progress
node_activity -->|"has history"| node_reviews
node_activity -->|"has"| node_notification
node_evaluations -->|"has details"| node_details
node_evaluations -->|"belongs to users"| node_userstore

click node_app "https://github.com/joseph30070/sistema-sigep/blob/main/frontend/src/App.jsx"
click node_auth "https://github.com/joseph30070/sistema-sigep/blob/main/frontend/src/context/AuthContext.jsx"
click node_client "https://github.com/joseph30070/sistema-sigep/blob/main/frontend/src/services/api.js"
click node_workui "https://github.com/joseph30070/sistema-sigep/tree/main/frontend/src/pages"
click node_dashui "https://github.com/joseph30070/sistema-sigep/blob/main/frontend/src/pages/Dashboard.jsx"
click node_activityui "https://github.com/joseph30070/sistema-sigep/blob/main/frontend/src/pages/ActividadDetalle.jsx"
click node_evalui "https://github.com/joseph30070/sistema-sigep/blob/main/frontend/src/pages/Evaluaciones.jsx"
click node_routes "https://github.com/joseph30070/sistema-sigep/blob/main/backend/routes/api.php"
click node_authapi "https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Http/Controllers/Api/AuthController.php"
click node_activityapi "https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Http/Controllers/Api/ActividadController.php"
click node_reviewapi "https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Http/Controllers/Api/RevisionController.php"
click node_advanceapi "https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Http/Controllers/Api/AvanceController.php"
click node_dashapi "https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Http/Controllers/Api/DashboardController.php"
click node_evalapi "https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Http/Controllers/Api/EvaluacionController.php"
click node_otherapi "https://github.com/joseph30070/sistema-sigep/tree/main/backend/app/Http/Controllers/Api"
click node_activity "https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Models/Actividad.php"
click node_progress "https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Models/Avance.php"
click node_reviews "https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Models/RevisionHistorial.php"
click node_project "https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Models/Proyecto.php"
click node_notification "https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Models/Notificacion.php"
click node_audit "https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Models/BitacoraAuditoria.php"
click node_userstore "https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Models/User.php"
click node_org "https://github.com/joseph30070/sistema-sigep/tree/main/backend/app/Models"
click node_objectives "https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Models/ObjetivoDesempeno.php"
click node_evaluations "https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Models/EvaluacionPersonal.php"
click node_details "https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Models/EvaluacionDetalle.php"
click node_basecontroller "https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Http/Controllers/Controller.php"

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_app,node_auth,node_client,node_workui,node_dashui,node_activityui,node_evalui,node_user toneBlue
class node_routes,node_authapi,node_activityapi,node_reviewapi,node_advanceapi,node_dashapi,node_evalapi,node_otherapi,node_basecontroller toneAmber
class node_activity,node_progress,node_reviews,node_project,node_notification,node_audit toneMint
class node_userstore,node_org,node_objectives,node_evaluations,node_details toneRose
```

## Components

### Web application

- [React routes](https://github.com/joseph30070/sistema-sigep/blob/main/frontend/src/App.jsx): `frontend/src/App.jsx`
- [Authentication state](https://github.com/joseph30070/sistema-sigep/blob/main/frontend/src/context/AuthContext.jsx): `frontend/src/context/AuthContext.jsx`
- [HTTP client](https://github.com/joseph30070/sistema-sigep/blob/main/frontend/src/services/api.js): `frontend/src/services/api.js`
- [Work screens](https://github.com/joseph30070/sistema-sigep/tree/main/frontend/src/pages): `frontend/src/pages`
- [Dashboard screen](https://github.com/joseph30070/sistema-sigep/blob/main/frontend/src/pages/Dashboard.jsx): `frontend/src/pages/Dashboard.jsx`
- [Activity detail](https://github.com/joseph30070/sistema-sigep/blob/main/frontend/src/pages/ActividadDetalle.jsx): `frontend/src/pages/ActividadDetalle.jsx`
- [Evaluation screen](https://github.com/joseph30070/sistema-sigep/blob/main/frontend/src/pages/Evaluaciones.jsx): `frontend/src/pages/Evaluaciones.jsx`

### REST API

- [API routes](https://github.com/joseph30070/sistema-sigep/blob/main/backend/routes/api.php): `backend/routes/api.php`
- [Authentication API](https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Http/Controllers/Api/AuthController.php): `backend/app/Http/Controllers/Api/AuthController.php`
- [Activity API](https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Http/Controllers/Api/ActividadController.php): `backend/app/Http/Controllers/Api/ActividadController.php`
- [Review API](https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Http/Controllers/Api/RevisionController.php): `backend/app/Http/Controllers/Api/RevisionController.php`
- [Progress API](https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Http/Controllers/Api/AvanceController.php): `backend/app/Http/Controllers/Api/AvanceController.php`
- [Dashboard API](https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Http/Controllers/Api/DashboardController.php): `backend/app/Http/Controllers/Api/DashboardController.php`
- [Evaluation API](https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Http/Controllers/Api/EvaluacionController.php): `backend/app/Http/Controllers/Api/EvaluacionController.php`
- [Other management APIs](https://github.com/joseph30070/sistema-sigep/tree/main/backend/app/Http/Controllers/Api): `backend/app/Http/Controllers/Api`
- [Controller base](https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Http/Controllers/Controller.php): `backend/app/Http/Controllers/Controller.php`

### Work management

- [Activities](https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Models/Actividad.php): `backend/app/Models/Actividad.php`
- [Progress history](https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Models/Avance.php): `backend/app/Models/Avance.php`
- [Review history](https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Models/RevisionHistorial.php): `backend/app/Models/RevisionHistorial.php`
- [Projects](https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Models/Proyecto.php): `backend/app/Models/Proyecto.php`
- [Notifications](https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Models/Notificacion.php): `backend/app/Models/Notificacion.php`
- [Audit log](https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Models/BitacoraAuditoria.php): `backend/app/Models/BitacoraAuditoria.php`

### People and evaluation

- [User records](https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Models/User.php): `backend/app/Models/User.php`
- [Teams and departments](https://github.com/joseph30070/sistema-sigep/tree/main/backend/app/Models): `backend/app/Models`
- [Performance objectives](https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Models/ObjetivoDesempeno.php): `backend/app/Models/ObjetivoDesempeno.php`
- [Performance evaluations](https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Models/EvaluacionPersonal.php): `backend/app/Models/EvaluacionPersonal.php`
- [Evaluation criteria details](https://github.com/joseph30070/sistema-sigep/blob/main/backend/app/Models/EvaluacionDetalle.php): `backend/app/Models/EvaluacionDetalle.php`

### Other components

- **System users**

## Connections

- System users → React routes: uses (evidence: `frontend/src/App.jsx`)
- React routes → Authentication state: provides auth (evidence: `frontend/src/App.jsx`)
- React routes → Work screens: routes to (evidence: `frontend/src/App.jsx`)
- React routes → Dashboard screen: routes to (evidence: `frontend/src/App.jsx`)
- React routes → Activity detail: routes to (evidence: `frontend/src/App.jsx`)
- React routes → Evaluation screen: routes to (evidence: `frontend/src/App.jsx`)
- Authentication state → HTTP client: calls (evidence: `frontend/src/context/AuthContext.jsx`)
- Dashboard screen → HTTP client: calls (evidence: `frontend/src/pages/Dashboard.jsx`)
- Activity detail → HTTP client: calls (evidence: `frontend/src/pages/ActividadDetalle.jsx`)
- HTTP client → API routes: requests
- API routes → Authentication API: dispatches (evidence: `backend/routes/api.php`)
- API routes → Activity API: dispatches (evidence: `backend/routes/api.php`)
- API routes → Review API: dispatches (evidence: `backend/routes/api.php`)
- API routes → Progress API: dispatches (evidence: `backend/routes/api.php`)
- API routes → Dashboard API: dispatches (evidence: `backend/routes/api.php`)
- API routes → Evaluation API: dispatches (evidence: `backend/routes/api.php`)
- API routes → Other management APIs: dispatches (evidence: `backend/routes/api.php`)
- Activity API → Activities: reads and writes (evidence: `backend/app/Http/Controllers/Api/ActividadController.php`)
- Activity API → Audit log: records (evidence: `backend/app/Http/Controllers/Api/ActividadController.php`)
- Activity API → Notifications: creates (evidence: `backend/app/Http/Controllers/Api/ActividadController.php`)
- Review API → Activities: updates (evidence: `backend/app/Http/Controllers/Api/RevisionController.php`)
- Review API → Review history: records (evidence: `backend/app/Http/Controllers/Api/RevisionController.php`)
- Review API → Notifications: creates (evidence: `backend/app/Http/Controllers/Api/RevisionController.php`)
- Progress API → Progress history: records
- Dashboard API → Activities: queries (evidence: `backend/app/Http/Controllers/Api/DashboardController.php`)
- Dashboard API → Projects: queries (evidence: `backend/app/Http/Controllers/Api/DashboardController.php`)
- Dashboard API → Teams and departments: queries (evidence: `backend/app/Http/Controllers/Api/DashboardController.php`)
- Dashboard API → User records: queries (evidence: `backend/app/Http/Controllers/Api/DashboardController.php`)
- Dashboard API → Performance objectives: queries (evidence: `backend/app/Http/Controllers/Api/DashboardController.php`)
- Dashboard API → Performance evaluations: queries (evidence: `backend/app/Http/Controllers/Api/DashboardController.php`)
- Evaluation API → Activities: calculates metrics (evidence: `backend/app/Http/Controllers/Api/EvaluacionController.php`)
- Evaluation API → Performance evaluations: creates (evidence: `backend/app/Http/Controllers/Api/EvaluacionController.php`)
- Evaluation API → Evaluation criteria details: creates (evidence: `backend/app/Http/Controllers/Api/EvaluacionController.php`)
- Evaluation API → Audit log: records (evidence: `backend/app/Http/Controllers/Api/EvaluacionController.php`)
- Activities → Projects: belongs to (evidence: `backend/app/Models/Actividad.php`)
- Activities → Progress history: has history (evidence: `backend/app/Models/Actividad.php`)
- Activities → Review history: has history (evidence: `backend/app/Models/Actividad.php`)
- Activities → Notifications: has (evidence: `backend/app/Models/Actividad.php`)
- Performance evaluations → Evaluation criteria details: has details (evidence: `backend/app/Models/EvaluacionPersonal.php`)
- Performance evaluations → User records: belongs to users (evidence: `backend/app/Models/EvaluacionPersonal.php`)
