# oliver-castillo/finanz-app architecture

> Architecture diagram of the GitHub repository oliver-castillo/finanz-app, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-06-21). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/oliver-castillo/finanz-app
- Repository: https://github.com/oliver-castillo/finanz-app

## Overview

1. **Repository state**
   - This snapshot contains only `README.md`, `.gitignore`, and `LICENSE`.
   - There is no application source code or configuration visible, so the implemented architecture cannot be reconstructed from files alone.

2. **Stated product shape**
   - The README describes **“finanz”** as a personal finance platform.
   - The core business capabilities are **expense tracking, budgeting, and financial analytics**.

3. **Intended technology split**
   - The stack explicitly names **Java + Spring Boot** and **Next.js**.
   - The most likely architectural boundary is a **frontend web client** in Next.js talking to a **backend application/service layer** in Spring Boot.

4. **Frontend role**
   - Next.js is the presentation and interaction layer for users managing finances.
   - It would typically handle dashboards, forms, and navigation for the finance workflows, but no UI structure is visible in the repo.

5. **Backend role**
   - Spring Boot is the core server-side platform for business logic and API exposure.
   - It is the natural home for expense, budgeting, and analytics domain rules, but no controller/service/entity layout is present here.

6. **Domain boundaries implied by the README**
   - The product appears to organize around three functional areas:
     - **Expense tracking**
     - **Budgeting**
     - **Financial analytics**
   - For an architecture diagram, these should be shown as business capabilities behind the backend/API boundary rather than as separate confirmed services.

7. **Cloud-native intent**
   - The README says “cloud-native architecture,” which implies deployable, environment-oriented components rather than a monolith-only design.
   - However, there is no evidence in the repository of specific infrastructure tools, containers, messaging, databases, or cloud providers.

8. **What is not evidenced**
   - No data store, authentication system, messaging layer, batch jobs, or observability stack is visible.
   - No repository structure indicates whether the backend and frontend are separate apps, a monorepo, or a multi-service system.

9. **Best diagram interpretation**
   - Draw this repo as a **conceptual two-tier product architecture**:
     - **Next.js client**
     - **Spring Boot backend/API**
   - Behind the backend, show the finance domains as core capabilities, with cloud deployment as the runtime envelope.

10. **Confidence level**
   - High confidence only on the **declared stack and business scope**.
   - Low confidence on any deeper structural claims, because the repository currently does not include implementation files.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Frontend"]
  node_nextjs["Next.js App<br/>frontend"]
  node_ui["Finance UI<br/>presentation"]
end

subgraph group_backend["Backend"]
  node_spring["Spring Boot<br/>backend"]
  node_api["Finance API"]
  node_expenses(("Expenses<br/>domain"))
  node_budgeting(("Budgeting<br/>domain"))
  node_analytics(("Analytics<br/>domain"))
end

subgraph group_platform["Runtime"]
  node_cloud[("Cloud Runtime<br/>deployment")]
end

node_repo{{"finanz"}}

node_repo -->|"includes"| node_nextjs
node_repo -->|"includes"| node_spring
node_nextjs -->|"renders"| node_ui
node_ui -->|"calls"| node_api
node_spring -->|"hosts"| node_api
node_api -->|"serves"| node_expenses
node_api -->|"serves"| node_budgeting
node_api -->|"serves"| node_analytics
node_expenses -.->|"deploys on"| node_cloud
node_budgeting -.->|"deploys on"| node_cloud
node_analytics -.->|"deploys on"| node_cloud

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_nextjs,node_ui toneBlue
class node_spring,node_api,node_expenses,node_budgeting,node_analytics toneAmber
class node_cloud toneMint
class node_repo toneNeutral
```

## Components

### Frontend

Next.js presentation layer for user interactions.

- **Next.js App**: frontend · User-facing web client for finance workflows.
- **Finance UI**: presentation · Screens for dashboards, forms, and navigation.

### Backend

Spring Boot application and finance domain logic.

- **Spring Boot**: backend · Server-side application platform and API boundary.
- **Finance API**: api · HTTP interface between the web client and backend.
- **Expenses**: domain · Tracks personal spending and transactions.
- **Budgeting**: domain · Budget rules, limits, and allocation logic.
- **Analytics**: domain · Financial summaries, trends, and insights.

### Runtime

Cloud-native deployment envelope implied by the README.

- **Cloud Runtime**: deployment · Cloud-native hosting and deployment context.

### Other components

- **finanz**: repository · Personal finance platform repository snapshot.

## Connections

- finanz → Next.js App: includes · Repository describes a Next.js frontend.
- finanz → Spring Boot: includes · Repository describes a Spring Boot backend.
- Next.js App → Finance UI: renders · The client provides the finance user interface.
- Finance UI → Finance API: calls · UI interactions are served through backend APIs.
- Spring Boot → Finance API: hosts · Spring Boot exposes the application API boundary.
- Finance API → Expenses: serves · Expense tracking is a core backend capability.
- Finance API → Budgeting: serves · Budgeting logic is handled behind the API.
- Finance API → Analytics: serves · Analytics features are produced by the backend.
- Expenses → Cloud Runtime: deploys on · Backend capabilities are assumed to run in a cloud-native environment.
- Budgeting → Cloud Runtime: deploys on · Backend capabilities are assumed to run in a cloud-native environment.
- Analytics → Cloud Runtime: deploys on · Backend capabilities are assumed to run in a cloud-native environment.
