docs(agile): initialize docs

This commit is contained in:
h
2025-09-01 01:52:06 +03:00
parent 0c317298a8
commit 5db99af225
31 changed files with 1989 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
# 2. High Level Architecture
## Technical Summary
Project SYSTEM is a monolithic, self-hosted web application built on the Nuxt 4 framework. The architecture is designed for efficiency and transparency, running on a Raspberry Pi. It features a Vue-based frontend interacting with a PostgreSQL database via Nuxt's server-side API routes. The core of the system is an immutable, event-sourced "Main Ledger" where every action is a cryptographically signed transaction, ensuring data integrity and auditability. Identity management is decentralized, based on public/private key pairs.
## Platform and Infrastructure Choice
* **Platform:** Self-hosted on a user-provided **Raspberry Pi** (Model 4+).
* **Key Services:**
* **Application Server:** **Nuxt 4** running in Node.js mode.
* **Database:** **PostgreSQL**.
* **Containerization:** The entire stack will be managed and deployed via **Docker Compose**. This ensures a consistent and reproducible environment.
* **Deployment Host and Regions:** Single host, located within the "Община's" private network.
## Repository Structure
* **Structure:** **Monorepo**.
* **Monorepo Tool:** Not required for this level of simplicity. A single `package.json` at the root will manage all dependencies.
* **Package Organization:** A standard Nuxt 4 project structure will be used, as detailed in the Frontend Architecture. Server-side logic will reside within the `server/` directory.
## High Level Architecture Diagram
```mermaid
graph TD
subgraph "Browser"
A[Citizen's Browser]
end
subgraph "Raspberry Pi (Docker Compose)"
B[Nuxt 4 Server]
C[PostgreSQL Database]
B -- "Serves Frontend" --> A
A -- "API Calls ($fetch)" --> B
B -- "Reads/Writes" --> C
end
style B fill:#2D3748,stroke:#fff,stroke-width:2px,color:#fff
style C fill:#4A5568,stroke:#fff,stroke-width:2px,color:#fff
```
---