# sangeeta-brewtechblue/springboot-nov-2026 architecture

> Architecture diagram of the GitHub repository sangeeta-brewtechblue/springboot-nov-2026, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/sangeeta-brewtechblue/springboot-nov-2026
- Repository: https://github.com/sangeeta-brewtechblue/springboot-nov-2026

## Overview

This repository is a collection of small Spring dependency-injection examples, not one integrated application. The examples demonstrate account operations, calculator injection, complaint registration, and Java-based bean configuration. The clearest user-to-result workflow is the CustomerCare example: its test entry point obtains a configured customer, which delegates complaint registration to an injected implementation. The graph keeps the examples separate; links for unsampled demo wiring are omitted because the available evidence does not establish those calls.

Main entry points: [`JavaConfigDemo/src/com/sj/config/AppConfig.java`](https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/JavaConfigDemo/src/com/sj/config/AppConfig.java) (Bean configuration), [`CustomerCare/src/com/sj/Complaint.java`](https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/CustomerCare/src/com/sj/Complaint.java) (Complaint contract), [`JavaConfigDemo/src/com/sj/model/CalcService.java`](https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/JavaConfigDemo/src/com/sj/model/CalcService.java) (Calculation service), [`CustomerCare/src/com/sj/Customer.java`](https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/CustomerCare/src/com/sj/Customer.java) (Customer)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_accounts["Account injection"]
  node_account_user["Account user<br/>[ActUser.java]"]
  node_account["Account contract<br/>[Account.java]"]
end

subgraph group_calculator["Calculator injection"]
  node_calc_demo["DI demo entry<br/>[Demo.java]"]
  node_calc_user["Calculator user<br/>[User.java]"]
  node_calculator_contract["Calculator contract<br/>[Calculator.java]"]
end

subgraph group_customer["Customer complaints"]
  node_customer_entry["Customer demo<br/>[TestCustomer.java]"]
  node_customer["Customer<br/>[Customer.java]"]
  node_complaint["Complaint contract<br/>[Complaint.java]"]
  node_major_complaint["Major complaint<br/>[MajorC.java]"]
  node_minor_complaint["Minor complaint<br/>[MinorC.java]"]
end

subgraph group_javaconfig["Java configuration"]
  node_app_config["Bean configuration<br/>[AppConfig.java]"]
  node_java_user["Calculator user<br/>[User.java]"]
  node_calc_service["Calculation service<br/>[CalcService.java]"]
  node_calc1["Calculator one<br/>[Calc1.java]"]
  node_calc2["Calculator two<br/>[Calc2.java]"]
end

node_account_user -->|"withdraws through"| node_account
node_customer_entry -->|"retrieves"| node_customer
node_customer -->|"registers through"| node_complaint
node_major_complaint -->|"implements"| node_complaint
node_minor_complaint -->|"implements"| node_complaint
node_app_config -->|"creates bean"| node_calc1
node_app_config -->|"creates bean"| node_calc2
node_app_config -->|"creates bean"| node_java_user
node_java_user -->|"calls calculate"| node_calc_service
node_calc1 -->|"implements"| node_calc_service
node_calc2 -->|"implements"| node_calc_service
node_calc_user -->|"calls square root"| node_calculator_contract

click node_account_user "https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/ActDemo/src/com/sj/ActUser.java"
click node_account "https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/ActDemo/src/com/sj/Account.java"
click node_calc_demo "https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/CalcDemoDI/src/com/sj/Demo.java"
click node_calc_user "https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/CalcDemoDI/src/com/sj/User.java"
click node_calculator_contract "https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/CalcDemoDI/src/com/sj/Calculator.java"
click node_customer_entry "https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/CustomerCare/src/com/sj/TestCustomer.java"
click node_customer "https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/CustomerCare/src/com/sj/Customer.java"
click node_complaint "https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/CustomerCare/src/com/sj/Complaint.java"
click node_major_complaint "https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/CustomerCare/src/com/sj/MajorC.java"
click node_minor_complaint "https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/CustomerCare/src/com/sj/MinorC.java"
click node_app_config "https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/JavaConfigDemo/src/com/sj/config/AppConfig.java"
click node_java_user "https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/JavaConfigDemo/src/com/sj/model/User.java"
click node_calc_service "https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/JavaConfigDemo/src/com/sj/model/CalcService.java"
click node_calc1 "https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/JavaConfigDemo/src/com/sj/model/Calc1.java"
click node_calc2 "https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/JavaConfigDemo/src/com/sj/model/Calc2.java"

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_account_user,node_account toneBlue
class node_calc_demo,node_calc_user,node_calculator_contract toneAmber
class node_customer_entry,node_customer,node_complaint,node_major_complaint,node_minor_complaint toneMint
class node_app_config,node_java_user,node_calc_service,node_calc1,node_calc2 toneRose
```

## Components

### Account injection

- [Account user](https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/ActDemo/src/com/sj/ActUser.java): `ActDemo/src/com/sj/ActUser.java`
- [Account contract](https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/ActDemo/src/com/sj/Account.java): `ActDemo/src/com/sj/Account.java`

### Calculator injection

- [DI demo entry](https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/CalcDemoDI/src/com/sj/Demo.java): `CalcDemoDI/src/com/sj/Demo.java`
- [Calculator user](https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/CalcDemoDI/src/com/sj/User.java): `CalcDemoDI/src/com/sj/User.java`
- [Calculator contract](https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/CalcDemoDI/src/com/sj/Calculator.java): `CalcDemoDI/src/com/sj/Calculator.java`

### Customer complaints

- [Customer demo](https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/CustomerCare/src/com/sj/TestCustomer.java): `CustomerCare/src/com/sj/TestCustomer.java`
- [Customer](https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/CustomerCare/src/com/sj/Customer.java): `CustomerCare/src/com/sj/Customer.java`
- [Complaint contract](https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/CustomerCare/src/com/sj/Complaint.java): `CustomerCare/src/com/sj/Complaint.java`
- [Major complaint](https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/CustomerCare/src/com/sj/MajorC.java): `CustomerCare/src/com/sj/MajorC.java`
- [Minor complaint](https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/CustomerCare/src/com/sj/MinorC.java): `CustomerCare/src/com/sj/MinorC.java`

### Java configuration

- [Bean configuration](https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/JavaConfigDemo/src/com/sj/config/AppConfig.java): `JavaConfigDemo/src/com/sj/config/AppConfig.java`
- [Calculator user](https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/JavaConfigDemo/src/com/sj/model/User.java): `JavaConfigDemo/src/com/sj/model/User.java`
- [Calculation service](https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/JavaConfigDemo/src/com/sj/model/CalcService.java): `JavaConfigDemo/src/com/sj/model/CalcService.java`
- [Calculator one](https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/JavaConfigDemo/src/com/sj/model/Calc1.java): `JavaConfigDemo/src/com/sj/model/Calc1.java`
- [Calculator two](https://github.com/sangeeta-brewtechblue/springboot-nov-2026/blob/main/JavaConfigDemo/src/com/sj/model/Calc2.java): `JavaConfigDemo/src/com/sj/model/Calc2.java`

## Connections

- Account user → Account contract: withdraws through (evidence: `ActDemo/src/com/sj/ActUser.java`)
- Customer demo → Customer: retrieves (evidence: `CustomerCare/src/com/sj/TestCustomer.java`)
- Customer → Complaint contract: registers through (evidence: `CustomerCare/src/com/sj/Customer.java`)
- Major complaint → Complaint contract: implements (evidence: `CustomerCare/src/com/sj/MajorC.java`)
- Minor complaint → Complaint contract: implements (evidence: `CustomerCare/src/com/sj/MinorC.java`)
- Bean configuration → Calculator one: creates bean (evidence: `JavaConfigDemo/src/com/sj/config/AppConfig.java`)
- Bean configuration → Calculator two: creates bean (evidence: `JavaConfigDemo/src/com/sj/config/AppConfig.java`)
- Bean configuration → Calculator user: creates bean (evidence: `JavaConfigDemo/src/com/sj/config/AppConfig.java`)
- Calculator user → Calculation service: calls calculate (evidence: `JavaConfigDemo/src/com/sj/model/User.java`)
- Calculator one → Calculation service: implements (evidence: `JavaConfigDemo/src/com/sj/model/Calc1.java`)
- Calculator two → Calculation service: implements (evidence: `JavaConfigDemo/src/com/sj/model/Calc2.java`)
- Calculator user → Calculator contract: calls square root (evidence: `CalcDemoDI/src/com/sj/User.java`)
