33 lines
1.7 KiB
Markdown
33 lines
1.7 KiB
Markdown
# JavadocViewerService
|
|
|
|
## Tech Stack
|
|
|
|
- **Java 21**
|
|
- **Spring Boot 4.x** (spring-boot-starter-parent)
|
|
- Spring MVC (spring-boot-starter-web)
|
|
- Spring Data JPA (spring-boot-starter-data-jpa)
|
|
- Thymeleaf (spring-boot-starter-thymeleaf)
|
|
- Bean Validation (spring-boot-starter-validation)
|
|
- Liquibase (spring-boot-starter-liquibase)
|
|
- **H2** — file-based embedded database (`./database/jdvsdb`)
|
|
- **Lombok** — boilerplate reduction (`@Data`, `@RequiredArgsConstructor`, `@Slf4j`)
|
|
- **JGit 7.x** — Git operations (clone, fetch, tag resolution)
|
|
- **Jackson YAML** — parsing of `jdvs.yml` config file
|
|
- **Maven** — build tool
|
|
|
|
## Configuration
|
|
|
|
- `application.yml` — base configuration (datasource, JPA, default jdvs properties)
|
|
- `jdvs.yml` — external runtime config (repositories, property overrides); imported via `spring.config.import`
|
|
|
|
## Package Structure
|
|
|
|
- `codes.thischwa.jdvs.config` — `@ConfigurationProperties` beans
|
|
- `codes.thischwa.jdvs.service` — business logic (Git, Javadoc generation, scheduling)
|
|
- `codes.thischwa.jdvs.jpa` — Spring Data repositories
|
|
- `codes.thischwa.jdvs.model` — JPA entities
|
|
- `codes.thischwa.jdvs.web` — MVC controllers and `WebMvcConfigurer`
|
|
|
|
## Coding
|
|
|
|
The generated code follows the principles of clean architecture and follows the SOLID principles. It is designed to be modular, testable, and maintainable. The code is written in a way that promotes readability and reduces complexity. It uses modern Java features and best practices to ensure efficient and reliable operation. To formate the code use che checkstyle definition in [google_custom_checks.xml](src/checkstyle/google_custom_checks.xml). Each changing of code must be verified with compiling. |