diff --git a/source-inventory/STRUCTURE.md b/source-inventory/STRUCTURE.md new file mode 100644 index 0000000..7f7604e --- /dev/null +++ b/source-inventory/STRUCTURE.md @@ -0,0 +1,110 @@ +# Project Structure Overview + +``` +runtime-smoke-20260710143823/ +├── src/ +│ ├── main/ +│ │ ├── java/com/example/demo/ +│ │ │ ├── DemoApplication.java +│ │ │ ├── controller/ +│ │ │ │ ├── HealthController.java +│ │ │ │ └── UserController.java +│ │ │ ├── service/ +│ │ │ │ ├── UserService.java +│ │ │ │ └── impl/ +│ │ │ │ └── UserServiceImpl.java +│ │ │ ├── repository/ +│ │ │ │ └── UserRepository.java +│ │ │ ├── entity/ +│ │ │ │ └── User.java +│ │ │ ├── dto/ +│ │ │ │ ├── UserDto.java +│ │ │ │ └── ApiResponse.java +│ │ │ └── exception/ +│ │ │ ├── GlobalExceptionHandler.java +│ │ │ └── UserNotFoundException.java +│ │ └── resources/ +│ │ ├── application.yml +│ │ ├── application-dev.yml +│ │ ├── application-prod.yml +│ │ ├── schema.sql +│ │ ├── data.sql +│ │ ├── static/ +│ │ └── templates/ +│ └── test/ +│ ├── java/com/example/demo/ +│ │ ├── DemoApplicationTests.java +│ │ ├── service/ +│ │ │ └── UserServiceTest.java +│ │ └── controller/ +│ │ └── UserControllerTest.java +│ └── resources/ +│ └── application.yml +├── pom.xml +├── mvnw +├── mvnw.cmd +├── Dockerfile +├── docker-compose.yml +├── .github/ +│ └── workflows/ +│ └── ci.yml +├── README.md +├── CONTRIBUTING.md +├── CHANGELOG.md +└── source-inventory/ + ├── INVENTORY.md + └── STRUCTURE.md +``` + +## Architecture Diagram + +``` +┌─────────────────────────────────────────────────────────────┐ +│ Client Request │ +└─────────────────────────┬───────────────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ Controller Layer │ +│ ┌─────────────────┐ ┌─────────────────┐ │ +│ │HealthController │ │ UserController │ │ +│ └─────────────────┘ └─────────────────┘ │ +└─────────────────────────┬───────────────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ Service Layer │ +│ ┌─────────────────────────────────────────┐ │ +│ │ UserServiceImpl │ │ +│ └─────────────────────────────────────────┘ │ +└─────────────────────────┬───────────────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ Repository Layer │ +│ ┌─────────────────────────────────────────┐ │ +│ │ UserRepository (JPA) │ │ +│ └─────────────────────────────────────────┘ │ +└─────────────────────────┬───────────────────────────────────┘ + │ + ▼ +┌─────────────────────────────────────────────────────────────┐ +│ Database (H2/MySQL) │ +│ ┌─────────────────────────────────────────┐ │ +│ │ User Table │ │ +│ └─────────────────────────────────────────┘ │ +└─────────────────────────────────────────────────────────────┘ +``` + +## Technology Stack + +| Layer | Technology | +|-------|------------| +| Runtime | Java 17 | +| Framework | Spring Boot 3.x | +| Database | H2 (dev), MySQL/PostgreSQL (prod) | +| ORM | Spring Data JPA / Hibernate | +| Build | Maven | +| Testing | JUnit 5, Mockito | +| Container | Docker | +| CI/CD | GitHub Actions |