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