chore: initialize tech log backend

This commit is contained in:
DongHyeonka
2026-08-13 20:32:52 +09:00
parent e64e701fe5
commit e552e317d6
9 changed files with 26 additions and 14 deletions
+5 -1
View File
@@ -1,4 +1,8 @@
# ca-skeleton — Clean Architecture Spring Boot 템플릿
# Tech Log Backend
Initialized from `clean-architecture-backend-template` revision
`0a6dd0e419620683de48f69b5c6d22d9964b6f44` as a tracked snapshot. Template
updates are applied explicitly and recorded in `template.lock.json`.
ca-skeleton은 Java 21, Spring Boot 4.0.0, Gradle 멀티모듈 기반의 Clean Architecture 백엔드 템플릿입니다. fork해서 도메인·패키지·엔티티·유스케이스만 교체하면 새 서비스를 시작할 수 있고, 모듈 경계와 의존 방향은 그대로 유지합니다. 기본 패키지는 `dev.caskeleton`이며, 예시 도메인은 production 모듈이 아니라 `sample-portfolio` 모듈(WorkLog 작업 기록 게시판)에 격리합니다.
+2 -2
View File
@@ -32,8 +32,8 @@ services:
RELEASE_VERSION: "${RELEASE_VERSION:-0.0.1}"
BUILD_VERSION: "${BUILD_VERSION:-0.0.1+0000000}"
GIT_SHA: "${GIT_SHA:-0000000}"
SOURCE_URL: "${SOURCE_URL:-https://example.invalid/ca-tmpl}"
image: caskeleton:${BUILD_VERSION:-0.0.1_local_0000000}
SOURCE_URL: "${SOURCE_URL:-https://git.learn.hyeonworks.com/donghyeon.kang/tech-log-backend}"
image: tech-log-backend:${BUILD_VERSION:-0.0.1_local_0000000}
ports:
- "${APP_SERVER_PORT:-8080}:8080"
- "9001:9001"
+1 -1
View File
@@ -632,7 +632,7 @@ env_keys:
- name: APP_LOG_FILE_PATH
# source: feature-log-management-contract — file path (relative to bootRun cwd or absolute)
type: string
default: logs/ca-skeleton.json
default: logs/tech-log-backend.json
allowed_values: null
classification: public-config
required: false
+2 -2
View File
@@ -4,7 +4,7 @@
# ----------------------------------------------------------------------------
# ----- App identity -----
APP_NAME=ca-skeleton
APP_NAME=tech-log-backend
SPRING_PROFILES_ACTIVE=local
# ----- Runtime safety (StartupSafetyValidator, D8) -----
@@ -51,7 +51,7 @@ APP_LOG_LEVEL_SQL=WARN
# ----- Logging: file output + rolling -----
APP_LOG_FILE_ENABLED=false
APP_LOG_FILE_PATH=logs/ca-skeleton.json
APP_LOG_FILE_PATH=logs/tech-log-backend.json
APP_LOG_FILE_MAX_SIZE=100MB
APP_LOG_FILE_MAX_HISTORY=14
APP_LOG_FILE_TOTAL_SIZE_CAP=3GB
+2 -2
View File
@@ -3,7 +3,7 @@
# feature-container-runtime-contract — multi-stage image build
#
# Build requirements:
# docker build -f src/Dockerfile src/ -t caskeleton:local \
# docker build -f src/Dockerfile src/ -t tech-log-backend:local \
# --build-arg RELEASE_VERSION=1.2.3 \
# --build-arg BUILD_VERSION=1.2.3+a1b2c3d4e5f6 \
# --build-arg GIT_SHA=a1b2c3d4e5f6 \
@@ -64,7 +64,7 @@ ARG GIT_SHA
ARG SOURCE_URL
# OCI image labels (build-arg placeholders — supply at docker build time).
LABEL org.opencontainers.image.title="caskeleton" \
LABEL org.opencontainers.image.title="tech-log-backend" \
org.opencontainers.image.source="${SOURCE_URL}" \
org.opencontainers.image.revision="${GIT_SHA}" \
org.opencontainers.image.version="${BUILD_VERSION}"
@@ -25,7 +25,7 @@
spring:
application:
name: ca-skeleton
name: tech-log-backend
web:
error:
include-stacktrace: never
@@ -125,7 +125,7 @@ ca-skeleton:
# rows and timeout guards differ per vendor even though the ports do not.
vendor: h2
bootstrap:
app-name: ca-skeleton
app-name: tech-log-backend
presentation:
# Pinned even though application.yml has an inline default, because the default is /v1 and
# src/.env says /api. Everything that names a URL in this repository — SECURITY_PUBLIC_PATHS,
@@ -156,7 +156,7 @@ ca-skeleton:
# Console only. A local run should not quietly grow a logs/ directory in the working
# directory, which differs between a Gradle run and an IDE run.
enabled: false
path: logs/ca-skeleton.json
path: logs/tech-log-backend.json
max-size: 100MB
max-history: 14
total-size-cap: 3GB
@@ -4,14 +4,14 @@
<!-- Early logging initializes before dotenv-backed application.yml placeholders are reliable. -->
<springProperty scope="context" name="APP_NAME"
source="APP_NAME" defaultValue="ca-skeleton"/>
source="APP_NAME" defaultValue="tech-log-backend"/>
<springProperty scope="context" name="APP_PROFILE"
source="SPRING_PROFILES_ACTIVE" defaultValue="local"/>
<springProperty scope="context" name="FILE_ENABLED"
source="APP_LOG_FILE_ENABLED" defaultValue="false"/>
<springProperty scope="context" name="FILE_PATH"
source="APP_LOG_FILE_PATH" defaultValue="logs/ca-skeleton.json"/>
source="APP_LOG_FILE_PATH" defaultValue="logs/tech-log-backend.json"/>
<springProperty scope="context" name="FILE_MAX_SIZE"
source="APP_LOG_FILE_MAX_SIZE" defaultValue="100MB"/>
<springProperty scope="context" name="FILE_MAX_HISTORY"
+1 -1
View File
@@ -4,7 +4,7 @@ plugins {
id 'org.gradle.toolchains.foojay-resolver-convention' version '1.0.0'
}
rootProject.name = 'ca-skeleton'
rootProject.name = 'tech-log-backend'
File repositoryRoot = settingsDir.parentFile.canonicalFile
File moduleRegistryFile = new File(settingsDir, 'config/architecture/modules.json')
+8
View File
@@ -0,0 +1,8 @@
{
"schemaVersion": 1,
"template": "clean-architecture-backend-template",
"sourceRepository": "https://git.learn.hyeonworks.com/donghyeon.kang/clean-architecture-backend-template",
"sourceRevision": "0a6dd0e419620683de48f69b5c6d22d9964b6f44",
"sourceTree": "247e3b8f695218e67b3493d2085ddb3aa15d7c82",
"materialization": "tracked-snapshot"
}