# momosad26/peterservices architecture

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

## Overview

Remesas es una aplicación local de gestión de un negocio de remesas: el usuario navega por la interfaz web, registra operaciones y consulta balances, deudas e historial; sus datos permanecen en el dispositivo. La APK Android aloja la misma web en un WebView, mientras la PWA permite uso offline. El mapa conserva las etapas de negocio documentadas y separa persistencia, navegación y presentación. El enrutamiento y algunas llamadas se ven en extractos; las relaciones de subsistemas no muestreados se omiten cuando README no las documenta explícitamente.

Main entry points: [`js/router.js`](https://github.com/momosad26/peterservices/blob/main/js/router.js) (Enrutador), [`android/app/src/main/java/com/peterservices/remesas/MainActivity.java`](https://github.com/momosad26/peterservices/blob/main/android/app/src/main/java/com/peterservices/remesas/MainActivity.java) (Contenedor Android), [`js/db.js`](https://github.com/momosad26/peterservices/blob/main/js/db.js) (Base local), [`js/clientes.js`](https://github.com/momosad26/peterservices/blob/main/js/clientes.js) (Clientes)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Interfaz y navegación"]
  node_router["Enrutador<br/>[router.js]"]
  node_panel["Panel<br/>[panel.js]"]
  node_search["Búsqueda<br/>[busqueda.js]"]
end

subgraph group_business["Gestión del negocio"]
  node_customers["Clientes<br/>[clientes.js]"]
  node_staff["Trabajadores<br/>[trabajadores.js]"]
  node_shipments["Envíos<br/>[envios.js]"]
  node_deliveries["Entregas<br/>[entregas.js]"]
  node_operations["Operaciones<br/>[movimientos.js]"]
  node_transfers["Transferencias<br/>[transferencias.js]"]
  node_special_price["Precio especial<br/>[precio-especial.js]"]
end

subgraph group_records["Balances y registros"]
  node_history["Historial<br/>[historial.js]"]
  node_balance["Balance<br/>[balance.js]"]
  node_debts["Deudas<br/>[deudas.js]"]
  node_backups["Respaldos<br/>[respaldos.js]"]
  node_archive["Archivo<br/>[archivo.js]"]
end

subgraph group_platform["Datos y plataformas"]
  node_database[("Base local<br/>[db.js]")]
  node_android["Contenedor Android<br/>[MainActivity.java]"]
  node_pwa["Service worker<br/>[sw.js]"]
end

node_user(("Usuario"))
node_contacts["Agenda Android"]
node_github["GitHub Releases"]

node_user -->|"navega"| node_router
node_router -->|"enruta"| node_panel
node_router -->|"enruta"| node_search
node_router -->|"enruta"| node_customers
node_router -->|"enruta"| node_staff
node_router -->|"enruta"| node_shipments
node_router -->|"enruta"| node_deliveries
node_router -->|"enruta"| node_operations
node_router -->|"enruta"| node_transfers
node_router -->|"enruta"| node_special_price
node_router -->|"enruta"| node_history
node_router -->|"enruta"| node_balance
node_router -->|"enruta"| node_debts
node_router -->|"enruta"| node_backups
node_customers -->|"abre formulario"| node_shipments
node_operations -->|"ajusta balance"| node_balance
node_debts -.->|"guarda deuda"| node_database
node_backups -.->|"respalda datos"| node_database
node_router -->|"carga datos"| node_database
node_router -->|"registra"| node_pwa
node_pwa -->|"sirve offline"| node_user
node_android -->|"muestra WebView"| node_user
node_android -->|"consulta agenda"| node_contacts
node_android -->|"consulta versiones"| node_github

click node_router "https://github.com/momosad26/peterservices/blob/main/js/router.js"
click node_panel "https://github.com/momosad26/peterservices/blob/main/js/panel.js"
click node_search "https://github.com/momosad26/peterservices/blob/main/js/busqueda.js"
click node_customers "https://github.com/momosad26/peterservices/blob/main/js/clientes.js"
click node_staff "https://github.com/momosad26/peterservices/blob/main/js/trabajadores.js"
click node_shipments "https://github.com/momosad26/peterservices/blob/main/js/envios.js"
click node_deliveries "https://github.com/momosad26/peterservices/blob/main/js/entregas.js"
click node_operations "https://github.com/momosad26/peterservices/blob/main/js/movimientos.js"
click node_transfers "https://github.com/momosad26/peterservices/blob/main/js/transferencias.js"
click node_special_price "https://github.com/momosad26/peterservices/blob/main/js/precio-especial.js"
click node_history "https://github.com/momosad26/peterservices/blob/main/js/historial.js"
click node_balance "https://github.com/momosad26/peterservices/blob/main/js/balance.js"
click node_debts "https://github.com/momosad26/peterservices/blob/main/js/deudas.js"
click node_backups "https://github.com/momosad26/peterservices/blob/main/js/respaldos.js"
click node_archive "https://github.com/momosad26/peterservices/blob/main/js/archivo.js"
click node_database "https://github.com/momosad26/peterservices/blob/main/js/db.js"
click node_android "https://github.com/momosad26/peterservices/blob/main/android/app/src/main/java/com/peterservices/remesas/MainActivity.java"
click node_pwa "https://github.com/momosad26/peterservices/blob/main/sw.js"

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_router,node_panel,node_search toneBlue
class node_customers,node_staff,node_shipments,node_deliveries,node_operations,node_transfers,node_special_price toneAmber
class node_history,node_balance,node_debts,node_backups,node_archive toneMint
class node_database,node_android,node_pwa toneRose
class node_user,node_contacts,node_github toneIndigo
```

## Components

### Interfaz y navegación

- [Enrutador](https://github.com/momosad26/peterservices/blob/main/js/router.js): `js/router.js`
- [Panel](https://github.com/momosad26/peterservices/blob/main/js/panel.js): `js/panel.js`
- [Búsqueda](https://github.com/momosad26/peterservices/blob/main/js/busqueda.js): `js/busqueda.js`

### Gestión del negocio

- [Clientes](https://github.com/momosad26/peterservices/blob/main/js/clientes.js): `js/clientes.js`
- [Trabajadores](https://github.com/momosad26/peterservices/blob/main/js/trabajadores.js): `js/trabajadores.js`
- [Envíos](https://github.com/momosad26/peterservices/blob/main/js/envios.js): `js/envios.js`
- [Entregas](https://github.com/momosad26/peterservices/blob/main/js/entregas.js): `js/entregas.js`
- [Operaciones](https://github.com/momosad26/peterservices/blob/main/js/movimientos.js): `js/movimientos.js`
- [Transferencias](https://github.com/momosad26/peterservices/blob/main/js/transferencias.js): `js/transferencias.js`
- [Precio especial](https://github.com/momosad26/peterservices/blob/main/js/precio-especial.js): `js/precio-especial.js`

### Balances y registros

- [Historial](https://github.com/momosad26/peterservices/blob/main/js/historial.js): `js/historial.js`
- [Balance](https://github.com/momosad26/peterservices/blob/main/js/balance.js): `js/balance.js`
- [Deudas](https://github.com/momosad26/peterservices/blob/main/js/deudas.js): `js/deudas.js`
- [Respaldos](https://github.com/momosad26/peterservices/blob/main/js/respaldos.js): `js/respaldos.js`
- [Archivo](https://github.com/momosad26/peterservices/blob/main/js/archivo.js): `js/archivo.js`

### Datos y plataformas

- [Base local](https://github.com/momosad26/peterservices/blob/main/js/db.js): `js/db.js`
- [Contenedor Android](https://github.com/momosad26/peterservices/blob/main/android/app/src/main/java/com/peterservices/remesas/MainActivity.java): `android/app/src/main/java/com/peterservices/remesas/MainActivity.java`
- [Service worker](https://github.com/momosad26/peterservices/blob/main/sw.js): `sw.js`

### Other components

- **Usuario**
- **Agenda Android**
- **GitHub Releases**

## Connections

- Usuario → Enrutador: navega (evidence: `js/router.js`)
- Enrutador → Panel: enruta (evidence: `js/router.js`)
- Enrutador → Búsqueda: enruta (evidence: `js/router.js`)
- Enrutador → Clientes: enruta (evidence: `js/router.js`)
- Enrutador → Trabajadores: enruta (evidence: `js/router.js`)
- Enrutador → Envíos: enruta (evidence: `js/router.js`)
- Enrutador → Entregas: enruta (evidence: `js/router.js`)
- Enrutador → Operaciones: enruta (evidence: `js/router.js`)
- Enrutador → Transferencias: enruta (evidence: `js/router.js`)
- Enrutador → Precio especial: enruta (evidence: `js/router.js`)
- Enrutador → Historial: enruta (evidence: `js/router.js`)
- Enrutador → Balance: enruta (evidence: `js/router.js`)
- Enrutador → Deudas: enruta (evidence: `js/router.js`)
- Enrutador → Respaldos: enruta (evidence: `js/router.js`)
- Clientes → Envíos: abre formulario (evidence: `js/clientes.js`)
- Operaciones → Balance: ajusta balance (evidence: `js/movimientos.js`)
- Deudas → Base local: guarda deuda
- Respaldos → Base local: respalda datos
- Enrutador → Base local: carga datos (evidence: `js/router.js`)
- Enrutador → Service worker: registra (evidence: `js/router.js`)
- Service worker → Usuario: sirve offline (evidence: `sw.js`)
- Contenedor Android → Usuario: muestra WebView (evidence: `README.md`)
- Contenedor Android → Agenda Android: consulta agenda (evidence: `README.md`)
- Contenedor Android → GitHub Releases: consulta versiones
