Skip to content

Backend Checklist

This chapter defines the detailed checklist for the backend area of TQS-S/W certification. The backend checklist consists of 6 areas: development environment, Java code conventions, Spring Boot, database, build, and file upload. Each item is classified as mandatory (O), recommended (R), or optional (S), with the verification method specified.


32.2.1. Development Environment

The development environment checklist verifies that the project team has correctly configured the standard development environment defined in TQS specifications.

No.ItemClassificationVerification Method
1VSCode is used as the standard IDEOConfiguration file verification
2.vscode/settings.json is included in the project for sharingOFile existence verification
3Required extensions are defined in .vscode/extensions.jsonOFile existence and content verification
4.editorconfig file is included in the project rootOFile existence verification
5Java 21 is used as the runtimeOVerify java.version in pom.xml
6Node.js LTS version is usedOVerify .nvmrc file

Development environment items are elements that constitute the project's basic infrastructure. Configuration files must be included in the version control system so that all team members can work in an identical development environment.


32.2.2. Java Code Conventions

The Java code conventions checklist verifies the consistency and readability of source code.

No.ItemClassificationVerification Method
7Google Java Format is applied via spotless-maven-pluginOVerify mvn spotless:check execution results
8Formatter violation count is 0OBuild log verification
9Class names use PascalCaseOCode review
10Method names and variable names use camelCaseOCode review
11Constant names use UPPER_SNAKE_CASEOCode review
12Package names use only lowercase lettersOCode review
13Feature-based package structure is applied (layer-based package structure is not used)ODirectory structure verification
14Magic numbers are not used; constants are defined insteadRCode review
15The final keyword is used for immutable variablesRCode review
16Method line count is maintained at 30 lines or fewerRCode review
17Unnecessary comments are avoided (self-explanatory code is prioritized)RCode review

Code conventions directly impact project maintainability. Google Java Format must be integrated into the build process for automatic verification.


32.2.3. Spring Boot

The Spring Boot checklist verifies the correct usage of the framework and application of standard configurations.

No.ItemClassificationVerification Method
18Spring Boot 3.x version is usedOVerify spring-boot-starter-parent version in pom.xml
19Configuration files are separated by profile (local / dev / staging / prod)OVerify existence of application-{profile}.yml files
20@ConfigurationProperties is used for type-safe configuration managementRCode review
21@RestControllerAdvice is used to implement global exception handlingOCode verification
22Error codes are defined and managed as EnumsOCode verification
23SLF4J is used for logging (no System.out.println usage)OCode search (System.out search returns 0 results)
24Log levels are appropriately configured per environmentOConfiguration file verification
25@Transactional scope is limited to the service layerRCode review
26Controllers do not contain business logicOCode review

Spring Boot configuration and structure have a critical impact on project stability and operational convenience. Profile separation and global exception handling must be applied.


32.2.4. Database

The database checklist verifies the standard implementation of the data access layer and schema management system.

No.ItemClassificationVerification Method
27PostgreSQL is used as the databaseOVerify datasource configuration in application.yml
28jOOQ is used as the data access layer (JPA / Hibernate is not used)OVerify dependencies in pom.xml
29Flyway is used to manage database migrationsOVerify dependencies in pom.xml and migration files
30jOOQ codegen is integrated into the Maven buildOVerify jooq-codegen-maven plugin in pom.xml
31HikariCP connection pool is configuredOVerify HikariCP configuration in application.yml
32Table names and column names use snake_caseODDL file verification
33Flyway migration file naming conventions are followed (V{version}__{description}.sql)OMigration file name verification
34Index naming conventions are followed (idx_{table}_{column})RDDL file verification

The database area verifies the correct application of the TQS specification's core technology stack: PostgreSQL + jOOQ + Flyway. Projects using JPA or Hibernate are judged as non-compliant for mandatory items.


32.2.5. Build

The build checklist verifies Maven build configuration standards compliance and quality tool integration.

No.ItemClassificationVerification Method
35pom.xml follows the TQS standard structureOFile structure verification
36Java 21 configuration is specified in maven-compiler-pluginOVerify plugin configuration in pom.xml
37JaCoCo plugin is configured to measure coverageOVerify jacoco-maven-plugin in pom.xml
38JaCoCo line coverage threshold is set to 80% or aboveOJaCoCo report verification
39JaCoCo branch coverage threshold is set to 70% or aboveOJaCoCo report verification
40OWASP Dependency-Check plugin is configuredRVerify plugin in pom.xml
41OWASP scan results show 0 vulnerabilities with CVSS 7 or aboveRScan report verification
42maven-surefire-plugin is configured to integrate tests into the buildOVerify plugin in pom.xml

The build configuration serves as the project's quality gate. JaCoCo coverage thresholds and OWASP dependency scanning are essential tools for automatically verifying code quality and security.


32.2.6. File Upload

The file upload checklist verifies the security of file upload functionality and storage management practices.

No.ItemClassificationVerification Method
43Upload file extensions are validated using a whitelist approachRCode review
44Upload file MIME types are validated on the server sideRCode review
45Upload file size is restrictedRConfiguration file verification
46Storage directory structure conforms to TQS standardsRConfiguration file and directory structure verification
47Uploaded file names are converted to UUIDs or similar before storageRCode review

File upload is an area where security vulnerabilities are prone to occur. It is recommended to apply a dual validation approach that verifies both extension and MIME type.


32.2.7. Item Summary

The total number of items and distribution by classification for the backend checklist are as follows.

AreaMandatory (O)Recommended (R)Optional (S)Total
Development Environment6006
Java Code Conventions74011
Spring Boot7209
Database7108
Build6208
File Upload0505
Total3314047

The backend checklist consists of a total of 47 items. All 33 mandatory items must be met to obtain Basic certification, and the compliance rate of the 14 recommended items determines whether the Advanced or Premier certification grade is achieved.

TIENIPIA QUALIFIED STANDARD