runtime-smoke-20260710143823/source-inventory/STRUCTURE.md

110 lines
6.2 KiB
Markdown

# 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 |