# fximis/ecopontos-aep architecture

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

- Interactive diagram: https://gitdiagram.com/fximis/ecopontos-aep
- Repository: https://github.com/fximis/ecopontos-aep

## Overview

EcoPontos is a single-page recycling-rewards application: users authenticate, register recyclable deliveries to earn points, review or undo recent deliveries, and redeem benefits against their balance. The README also documents session-based user management and stack-backed histories for deliveries and redemptions. The repository contains only one HTML file, and no source excerpts were provided, so component paths point to that file and the diagram uses only README-documented relationships; internal call order cannot be verified.

Main entry points: [`HTML - Base .html`](https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html) (Delivery registration)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_experience["User workflows"]
  node_app["EcoPontos app<br/>[HTML - Base .html]"]
  node_auth["Authentication<br/>[HTML - Base .html]"]
  node_delivery["Delivery registration<br/>[HTML - Base .html]"]
  node_history["Delivery history<br/>[HTML - Base .html]"]
  node_undo["Undo delivery<br/>[HTML - Base .html]"]
  node_redemption["Benefit redemption<br/>[HTML - Base .html]"]
  node_redeemed["Redemption history<br/>[HTML - Base .html]"]
end

subgraph group_domain["Rewards domain"]
  node_manager["User manager<br/>[HTML - Base .html]"]
  node_user_model["User account<br/>[HTML - Base .html]"]
  node_delivery_model["Delivery record<br/>[HTML - Base .html]"]
  node_benefit["Benefit catalog<br/>[HTML - Base .html]"]
  node_points["Points balance<br/>[HTML - Base .html]"]
end

subgraph group_state["Session state"]
  node_delivery_stack[("Delivery stack<br/>[HTML - Base .html]")]
  node_redemption_stack[("Redemption stack<br/>[HTML - Base .html]")]
  node_session[("Tab session<br/>[HTML - Base .html]")]
end

node_user(("User"))

node_user -->|"uses"| node_app
node_app -->|"offers login"| node_auth
node_auth -->|"authenticates"| node_manager
node_manager -->|"controls session"| node_session
node_user -->|"registers delivery"| node_delivery
node_delivery -->|"records material"| node_delivery_model
node_delivery -->|"calculates points"| node_points
node_user -->|"reviews deliveries"| node_history
node_history -->|"shows recent"| node_delivery_stack
node_user -->|"undoes latest"| node_undo
node_undo -->|"removes latest"| node_delivery_stack
node_user -->|"redeems benefit"| node_redemption
node_redemption -->|"validates cost"| node_benefit
node_redemption -->|"checks balance"| node_points
node_user -->|"reviews redemptions"| node_redeemed
node_redeemed -->|"shows history"| node_redemption_stack
node_manager -->|"manages users"| node_user_model

click node_app "https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html"
click node_auth "https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html"
click node_delivery "https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html"
click node_history "https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html"
click node_undo "https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html"
click node_redemption "https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html"
click node_redeemed "https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html"
click node_manager "https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html"
click node_user_model "https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html"
click node_delivery_model "https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html"
click node_benefit "https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html"
click node_points "https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html"
click node_delivery_stack "https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html"
click node_redemption_stack "https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html"
click node_session "https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html"

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_delivery,node_history,node_undo,node_redemption,node_redeemed,node_user toneBlue
class node_manager,node_user_model,node_delivery_model,node_benefit,node_points toneAmber
class node_delivery_stack,node_redemption_stack,node_session toneMint
```

## Components

### User workflows

- [EcoPontos app](https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html): `HTML - Base .html`
- [Authentication](https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html): `HTML - Base .html`
- [Delivery registration](https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html): `HTML - Base .html`
- [Delivery history](https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html): `HTML - Base .html`
- [Undo delivery](https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html): `HTML - Base .html`
- [Benefit redemption](https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html): `HTML - Base .html`
- [Redemption history](https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html): `HTML - Base .html`

### Rewards domain

- [User manager](https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html): `HTML - Base .html`
- [User account](https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html): `HTML - Base .html`
- [Delivery record](https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html): `HTML - Base .html`
- [Benefit catalog](https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html): `HTML - Base .html`
- [Points balance](https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html): `HTML - Base .html`

### Session state

- [Delivery stack](https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html): `HTML - Base .html`
- [Redemption stack](https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html): `HTML - Base .html`
- [Tab session](https://github.com/fximis/ecopontos-aep/blob/main/HTML%20-%20Base%20.html): `HTML - Base .html`

### Other components

- **User**

## Connections

- User → EcoPontos app: uses (evidence: `README.md`)
- EcoPontos app → Authentication: offers login (evidence: `README.md`)
- Authentication → User manager: authenticates (evidence: `README.md`)
- User manager → Tab session: controls session (evidence: `README.md`)
- User → Delivery registration: registers delivery (evidence: `README.md`)
- Delivery registration → Delivery record: records material (evidence: `README.md`)
- Delivery registration → Points balance: calculates points (evidence: `README.md`)
- User → Delivery history: reviews deliveries (evidence: `README.md`)
- Delivery history → Delivery stack: shows recent (evidence: `README.md`)
- User → Undo delivery: undoes latest (evidence: `README.md`)
- Undo delivery → Delivery stack: removes latest (evidence: `README.md`)
- User → Benefit redemption: redeems benefit (evidence: `README.md`)
- Benefit redemption → Benefit catalog: validates cost (evidence: `README.md`)
- Benefit redemption → Points balance: checks balance (evidence: `README.md`)
- User → Redemption history: reviews redemptions (evidence: `README.md`)
- Redemption history → Redemption stack: shows history (evidence: `README.md`)
- User manager → User account: manages users (evidence: `README.md`)
