# ilsa-grafandina/controlactivosti architecture

> Architecture diagram of the GitHub repository ilsa-grafandina/controlactivosti, 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/ilsa-grafandina/controlactivosti
- Repository: https://github.com/ilsa-grafandina/controlactivosti

## Overview

ControlActivosTI is a Django application for managing organizational IT assets. The central workflow is to maintain catalogs and collaborator records, track assets and their assignments, and generate handover/return records; depreciation, audit, and notifications support that lifecycle. Dashboard and administrative views provide operational summaries and catalog management. The README is empty, and several feature views were not sampled, so the graph preserves major domain modules while limiting edges to relationships visible in excerpts or the source index.

Main entry points: [`ControlActivosTI/config/admin2_views.py`](https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/config/admin2_views.py) (Admin workspace), [`ControlActivosTI/apps/asignaciones/models.py`](https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/asignaciones/models.py) (Assignments), [`ControlActivosTI/apps/activos/attribute_services.py`](https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/activos/attribute_services.py) (Asset attributes), [`ControlActivosTI/config/views.py`](https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/config/views.py) (Dashboard)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_operations["Asset operations"]
  node_catalogs[("Catalog data<br/>[models.py]")]
  node_catalog_forms["Catalog forms<br/>[forms.py]"]
  node_collaborators[("Collaborators<br/>[models.py]")]
  node_assets[("Asset inventory<br/>[models.py]")]
  node_asset_attributes["Asset attributes"]
  node_asset_exports["Asset exports<br/>[services.py]"]
  node_assignments[("Assignments<br/>[models.py]")]
end

subgraph group_records["Supporting records"]
  node_handover_records["Handover records<br/>[services.py]"]
  node_acta_data[("Handover models<br/>[models.py]")]
  node_depreciation["Depreciation<br/>[services.py]"]
  node_depreciation_data[("Depreciation records<br/>[models.py]")]
end

subgraph group_insights["Oversight and alerts"]
  node_audit_service["Audit recording<br/>[services.py]"]
  node_audit_data[("Audit log<br/>[models.py]")]
  node_notification_service["Notifications<br/>[services.py]"]
  node_notification_data[("Notification records<br/>[models.py]")]
end

subgraph group_web["Web interface"]
  node_dashboard["Dashboard<br/>[views.py]"]
  node_admin_dashboard["Admin workspace<br/>[admin2_views.py]"]
  node_routing["URL routing<br/>[urls.py]"]
end

node_user(("Staff user"))

node_asset_attributes -->|"updates values"| node_assets
node_asset_attributes -->|"uses configuration"| node_catalogs
node_asset_attributes -->|"records changes"| node_audit_service
node_audit_service -->|"creates events"| node_audit_data
node_assignments -->|"references assets"| node_assets
node_assignments -->|"references catalogs"| node_catalogs
node_assignments -->|"references collaborators"| node_collaborators
node_assignments -->|"uses attribute service"| node_asset_attributes
node_handover_records -->|"uses models"| node_acta_data
node_handover_records -->|"reads asset details"| node_asset_attributes
node_asset_exports -->|"reads visible values"| node_asset_attributes
node_asset_exports -->|"reads report config"| node_catalogs
node_depreciation -->|"uses records"| node_depreciation_data
node_depreciation -->|"uses notifications"| node_notification_service
node_notification_service -->|"creates notifications"| node_notification_data
node_dashboard -->|"queries inventory"| node_assets
node_dashboard -->|"queries assignments"| node_assignments
node_dashboard -->|"queries collaborators"| node_collaborators
node_admin_dashboard -->|"queries inventory"| node_assets
node_admin_dashboard -->|"queries assignments"| node_assignments
node_admin_dashboard -->|"manages catalogs"| node_catalogs
node_admin_dashboard -->|"reads audit data"| node_audit_data
node_admin_dashboard -->|"reads notifications"| node_notification_data
node_user -.->|"requests pages"| node_routing
node_routing -->|"routes to"| node_dashboard
node_routing -->|"routes to"| node_admin_dashboard

click node_catalogs "https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/catalogos/models.py"
click node_catalog_forms "https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/catalogos/forms.py"
click node_collaborators "https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/colaboradores/models.py"
click node_assets "https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/activos/models.py"
click node_asset_attributes "https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/activos/attribute_services.py"
click node_asset_exports "https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/activos/services.py"
click node_assignments "https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/asignaciones/models.py"
click node_handover_records "https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/actas/services.py"
click node_acta_data "https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/actas/models.py"
click node_depreciation "https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/depreciacion/services.py"
click node_depreciation_data "https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/depreciacion/models.py"
click node_audit_service "https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/auditoria/services.py"
click node_audit_data "https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/auditoria/models.py"
click node_notification_service "https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/notificaciones/services.py"
click node_notification_data "https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/notificaciones/models.py"
click node_dashboard "https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/config/views.py"
click node_admin_dashboard "https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/config/admin2_views.py"
click node_routing "https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/config/urls.py"

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_catalogs,node_catalog_forms,node_collaborators,node_assets,node_asset_attributes,node_asset_exports,node_assignments,node_user toneBlue
class node_handover_records,node_acta_data,node_depreciation,node_depreciation_data toneAmber
class node_audit_service,node_audit_data,node_notification_service,node_notification_data toneMint
class node_dashboard,node_admin_dashboard,node_routing toneRose
```

## Components

### Asset operations

- [Catalog data](https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/catalogos/models.py): `ControlActivosTI/apps/catalogos/models.py`
- [Catalog forms](https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/catalogos/forms.py): `ControlActivosTI/apps/catalogos/forms.py`
- [Collaborators](https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/colaboradores/models.py): `ControlActivosTI/apps/colaboradores/models.py`
- [Asset inventory](https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/activos/models.py): `ControlActivosTI/apps/activos/models.py`
- [Asset attributes](https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/activos/attribute_services.py): `ControlActivosTI/apps/activos/attribute_services.py`
- [Asset exports](https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/activos/services.py): `ControlActivosTI/apps/activos/services.py`
- [Assignments](https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/asignaciones/models.py): `ControlActivosTI/apps/asignaciones/models.py`

### Supporting records

- [Handover records](https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/actas/services.py): `ControlActivosTI/apps/actas/services.py`
- [Handover models](https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/actas/models.py): `ControlActivosTI/apps/actas/models.py`
- [Depreciation](https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/depreciacion/services.py): `ControlActivosTI/apps/depreciacion/services.py`
- [Depreciation records](https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/depreciacion/models.py): `ControlActivosTI/apps/depreciacion/models.py`

### Oversight and alerts

- [Audit recording](https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/auditoria/services.py): `ControlActivosTI/apps/auditoria/services.py`
- [Audit log](https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/auditoria/models.py): `ControlActivosTI/apps/auditoria/models.py`
- [Notifications](https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/notificaciones/services.py): `ControlActivosTI/apps/notificaciones/services.py`
- [Notification records](https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/apps/notificaciones/models.py): `ControlActivosTI/apps/notificaciones/models.py`

### Web interface

- [Dashboard](https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/config/views.py): `ControlActivosTI/config/views.py`
- [Admin workspace](https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/config/admin2_views.py): `ControlActivosTI/config/admin2_views.py`
- [URL routing](https://github.com/ilsa-grafandina/controlactivosti/blob/main/ControlActivosTI/config/urls.py): `ControlActivosTI/config/urls.py`

### Other components

- **Staff user**

## Connections

- Asset attributes → Asset inventory: updates values (evidence: `ControlActivosTI/apps/activos/attribute_services.py`)
- Asset attributes → Catalog data: uses configuration (evidence: `ControlActivosTI/apps/activos/attribute_services.py`)
- Asset attributes → Audit recording: records changes (evidence: `ControlActivosTI/apps/activos/attribute_services.py`)
- Audit recording → Audit log: creates events (evidence: `ControlActivosTI/apps/auditoria/services.py`)
- Assignments → Asset inventory: references assets (evidence: `ControlActivosTI/apps/asignaciones/models.py`)
- Assignments → Catalog data: references catalogs (evidence: `ControlActivosTI/apps/asignaciones/models.py`)
- Assignments → Collaborators: references collaborators (evidence: `ControlActivosTI/apps/asignaciones/models.py`)
- Assignments → Asset attributes: uses attribute service (evidence: `ControlActivosTI/apps/asignaciones/models.py`)
- Handover records → Handover models: uses models (evidence: `ControlActivosTI/apps/actas/services.py`)
- Handover records → Asset attributes: reads asset details (evidence: `ControlActivosTI/apps/actas/services.py`)
- Asset exports → Asset attributes: reads visible values (evidence: `ControlActivosTI/apps/activos/services.py`)
- Asset exports → Catalog data: reads report config (evidence: `ControlActivosTI/apps/activos/services.py`)
- Depreciation → Depreciation records: uses records (evidence: `ControlActivosTI/apps/depreciacion/services.py`)
- Depreciation → Notifications: uses notifications (evidence: `ControlActivosTI/apps/depreciacion/services.py`)
- Notifications → Notification records: creates notifications (evidence: `ControlActivosTI/apps/notificaciones/services.py`)
- Dashboard → Asset inventory: queries inventory (evidence: `ControlActivosTI/config/views.py`)
- Dashboard → Assignments: queries assignments (evidence: `ControlActivosTI/config/views.py`)
- Dashboard → Collaborators: queries collaborators (evidence: `ControlActivosTI/config/views.py`)
- Admin workspace → Asset inventory: queries inventory (evidence: `ControlActivosTI/config/admin2_views.py`)
- Admin workspace → Assignments: queries assignments (evidence: `ControlActivosTI/config/admin2_views.py`)
- Admin workspace → Catalog data: manages catalogs (evidence: `ControlActivosTI/config/admin2_views.py`)
- Admin workspace → Audit log: reads audit data (evidence: `ControlActivosTI/config/admin2_views.py`)
- Admin workspace → Notification records: reads notifications (evidence: `ControlActivosTI/config/admin2_views.py`)
- Staff user → URL routing: requests pages
- URL routing → Dashboard: routes to (evidence: `ControlActivosTI/config/urls.py`)
- URL routing → Admin workspace: routes to (evidence: `ControlActivosTI/config/urls.py`)
