timsquad 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +347 -0
- package/bin/tsq.js +6 -0
- package/dist/commands/feedback.d.ts +3 -0
- package/dist/commands/feedback.d.ts.map +1 -0
- package/dist/commands/feedback.js +142 -0
- package/dist/commands/feedback.js.map +1 -0
- package/dist/commands/full.d.ts +3 -0
- package/dist/commands/full.d.ts.map +1 -0
- package/dist/commands/full.js +87 -0
- package/dist/commands/full.js.map +1 -0
- package/dist/commands/git/commit.d.ts +3 -0
- package/dist/commands/git/commit.d.ts.map +1 -0
- package/dist/commands/git/commit.js +88 -0
- package/dist/commands/git/commit.js.map +1 -0
- package/dist/commands/git/index.d.ts +5 -0
- package/dist/commands/git/index.d.ts.map +1 -0
- package/dist/commands/git/index.js +5 -0
- package/dist/commands/git/index.js.map +1 -0
- package/dist/commands/git/pr.d.ts +3 -0
- package/dist/commands/git/pr.d.ts.map +1 -0
- package/dist/commands/git/pr.js +138 -0
- package/dist/commands/git/pr.js.map +1 -0
- package/dist/commands/git/release.d.ts +3 -0
- package/dist/commands/git/release.d.ts.map +1 -0
- package/dist/commands/git/release.js +158 -0
- package/dist/commands/git/release.js.map +1 -0
- package/dist/commands/git/sync.d.ts +3 -0
- package/dist/commands/git/sync.d.ts.map +1 -0
- package/dist/commands/git/sync.js +132 -0
- package/dist/commands/git/sync.js.map +1 -0
- package/dist/commands/init.d.ts +3 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +150 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/log.d.ts +3 -0
- package/dist/commands/log.d.ts.map +1 -0
- package/dist/commands/log.js +271 -0
- package/dist/commands/log.js.map +1 -0
- package/dist/commands/metrics.d.ts +3 -0
- package/dist/commands/metrics.d.ts.map +1 -0
- package/dist/commands/metrics.js +299 -0
- package/dist/commands/metrics.js.map +1 -0
- package/dist/commands/quick.d.ts +3 -0
- package/dist/commands/quick.d.ts.map +1 -0
- package/dist/commands/quick.js +136 -0
- package/dist/commands/quick.js.map +1 -0
- package/dist/commands/retro.d.ts +3 -0
- package/dist/commands/retro.d.ts.map +1 -0
- package/dist/commands/retro.js +280 -0
- package/dist/commands/retro.js.map +1 -0
- package/dist/commands/status.d.ts +3 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +127 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/watch.d.ts +3 -0
- package/dist/commands/watch.d.ts.map +1 -0
- package/dist/commands/watch.js +213 -0
- package/dist/commands/watch.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +50 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/config.d.ts +34 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +108 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/project.d.ts +47 -0
- package/dist/lib/project.d.ts.map +1 -0
- package/dist/lib/project.js +191 -0
- package/dist/lib/project.js.map +1 -0
- package/dist/lib/template.d.ts +33 -0
- package/dist/lib/template.d.ts.map +1 -0
- package/dist/lib/template.js +151 -0
- package/dist/lib/template.js.map +1 -0
- package/dist/types/config.d.ts +75 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +66 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/feedback.d.ts +59 -0
- package/dist/types/feedback.d.ts.map +1 -0
- package/dist/types/feedback.js +26 -0
- package/dist/types/feedback.js.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/project.d.ts +89 -0
- package/dist/types/project.d.ts.map +1 -0
- package/dist/types/project.js +44 -0
- package/dist/types/project.js.map +1 -0
- package/dist/utils/colors.d.ts +30 -0
- package/dist/utils/colors.d.ts.map +1 -0
- package/dist/utils/colors.js +54 -0
- package/dist/utils/colors.js.map +1 -0
- package/dist/utils/date.d.ts +25 -0
- package/dist/utils/date.d.ts.map +1 -0
- package/dist/utils/date.js +65 -0
- package/dist/utils/date.js.map +1 -0
- package/dist/utils/fs.d.ts +49 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/fs.js +84 -0
- package/dist/utils/fs.js.map +1 -0
- package/dist/utils/prompts.d.ts +31 -0
- package/dist/utils/prompts.d.ts.map +1 -0
- package/dist/utils/prompts.js +95 -0
- package/dist/utils/prompts.js.map +1 -0
- package/dist/utils/yaml.d.ts +21 -0
- package/dist/utils/yaml.d.ts.map +1 -0
- package/dist/utils/yaml.js +40 -0
- package/dist/utils/yaml.js.map +1 -0
- package/package.json +71 -0
- package/templates/common/CLAUDE.md.template +254 -0
- package/templates/common/claude/agents/tsq-dba.md +290 -0
- package/templates/common/claude/agents/tsq-designer.md +304 -0
- package/templates/common/claude/agents/tsq-developer.md +118 -0
- package/templates/common/claude/agents/tsq-planner.md +90 -0
- package/templates/common/claude/agents/tsq-prompter.md +336 -0
- package/templates/common/claude/agents/tsq-qa.md +134 -0
- package/templates/common/claude/agents/tsq-retro.md +168 -0
- package/templates/common/claude/agents/tsq-security.md +190 -0
- package/templates/common/claude/skills/architecture/SKILL.md +123 -0
- package/templates/common/claude/skills/backend/node/SKILL.md +1015 -0
- package/templates/common/claude/skills/coding/SKILL.md +171 -0
- package/templates/common/claude/skills/database/prisma/SKILL.md +357 -0
- package/templates/common/claude/skills/frontend/nextjs/SKILL.md +279 -0
- package/templates/common/claude/skills/frontend/react/SKILL.md +1729 -0
- package/templates/common/claude/skills/methodology/bdd/SKILL.md +234 -0
- package/templates/common/claude/skills/methodology/ddd/SKILL.md +311 -0
- package/templates/common/claude/skills/methodology/tdd/SKILL.md +512 -0
- package/templates/common/claude/skills/planning/SKILL.md +90 -0
- package/templates/common/claude/skills/security/SKILL.md +234 -0
- package/templates/common/claude/skills/testing/SKILL.md +146 -0
- package/templates/common/claude/skills/typescript/SKILL.md +435 -0
- package/templates/common/config.template.yaml +131 -0
- package/templates/common/timsquad/architectures/clean/ARCHITECTURE.md +49 -0
- package/templates/common/timsquad/architectures/clean/backend.xml +210 -0
- package/templates/common/timsquad/architectures/clean/frontend.xml +148 -0
- package/templates/common/timsquad/architectures/fsd/ARCHITECTURE.md +67 -0
- package/templates/common/timsquad/architectures/fsd/frontend.xml +288 -0
- package/templates/common/timsquad/architectures/hexagonal/ARCHITECTURE.md +60 -0
- package/templates/common/timsquad/architectures/hexagonal/backend.xml +300 -0
- package/templates/common/timsquad/constraints/competency-framework.xml +501 -0
- package/templates/common/timsquad/constraints/ssot-schema.xml +433 -0
- package/templates/common/timsquad/feedback/feedback-router.sh +341 -0
- package/templates/common/timsquad/feedback/routing-rules.yaml +352 -0
- package/templates/common/timsquad/generators/data-design.xml +290 -0
- package/templates/common/timsquad/generators/prd.xml +280 -0
- package/templates/common/timsquad/generators/requirements.xml +220 -0
- package/templates/common/timsquad/generators/service-spec.xml +266 -0
- package/templates/common/timsquad/logs/_example.md +81 -0
- package/templates/common/timsquad/logs/_template.md +46 -0
- package/templates/common/timsquad/patterns/cqrs.xml +127 -0
- package/templates/common/timsquad/patterns/event-sourcing.xml +85 -0
- package/templates/common/timsquad/patterns/repository.xml +64 -0
- package/templates/common/timsquad/process/state-machine.xml +343 -0
- package/templates/common/timsquad/process/validation-rules.xml +308 -0
- package/templates/common/timsquad/process/workflow-base.xml +202 -0
- package/templates/common/timsquad/retrospective/cycle-report.template.md +205 -0
- package/templates/common/timsquad/retrospective/metrics/metrics-schema.json +203 -0
- package/templates/common/timsquad/retrospective/patterns/failure-patterns.md +199 -0
- package/templates/common/timsquad/retrospective/patterns/success-patterns.md +262 -0
- package/templates/common/timsquad/retrospective/retrospective-config.xml +294 -0
- package/templates/common/timsquad/retrospective/retrospective-state.xml +210 -0
- package/templates/common/timsquad/ssot/adr/ADR-000-template.md +121 -0
- package/templates/common/timsquad/ssot/adr/ADR-001-example.md +115 -0
- package/templates/common/timsquad/ssot/data-design.template.md +132 -0
- package/templates/common/timsquad/ssot/deployment-spec.template.md +384 -0
- package/templates/common/timsquad/ssot/env-config.template.md +346 -0
- package/templates/common/timsquad/ssot/error-codes.template.md +114 -0
- package/templates/common/timsquad/ssot/functional-spec.template.md +185 -0
- package/templates/common/timsquad/ssot/glossary.template.md +148 -0
- package/templates/common/timsquad/ssot/integration-spec.template.md +391 -0
- package/templates/common/timsquad/ssot/planning.template.md +94 -0
- package/templates/common/timsquad/ssot/prd.template.md +102 -0
- package/templates/common/timsquad/ssot/requirements.template.md +117 -0
- package/templates/common/timsquad/ssot/security-spec.template.md +309 -0
- package/templates/common/timsquad/ssot/service-spec.template.md +194 -0
- package/templates/common/timsquad/ssot/test-spec.template.md +264 -0
- package/templates/common/timsquad/ssot/ui-ux-spec.template.md +262 -0
- package/templates/common/timsquad/state/workspace.xml +217 -0
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# {PROJECT_NAME} 에러 코드
|
|
2
|
+
|
|
3
|
+
**Version**: 1.0
|
|
4
|
+
**Created**: {DATE}
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## 1. 에러 응답 형식
|
|
9
|
+
|
|
10
|
+
```json
|
|
11
|
+
{
|
|
12
|
+
"success": false,
|
|
13
|
+
"data": null,
|
|
14
|
+
"error": {
|
|
15
|
+
"code": "AUTH_001",
|
|
16
|
+
"message": "Invalid credentials"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 2. HTTP 상태 코드 가이드
|
|
24
|
+
|
|
25
|
+
| HTTP | 용도 |
|
|
26
|
+
|------|-----|
|
|
27
|
+
| 400 | Bad Request - 잘못된 요청 파라미터 |
|
|
28
|
+
| 401 | Unauthorized - 인증 필요 또는 실패 |
|
|
29
|
+
| 403 | Forbidden - 권한 없음 |
|
|
30
|
+
| 404 | Not Found - 리소스 없음 |
|
|
31
|
+
| 409 | Conflict - 충돌 (중복 등) |
|
|
32
|
+
| 422 | Unprocessable Entity - 유효성 검증 실패 |
|
|
33
|
+
| 429 | Too Many Requests - Rate Limit |
|
|
34
|
+
| 500 | Internal Server Error - 서버 오류 |
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 3. 에러 코드 목록
|
|
39
|
+
|
|
40
|
+
### 3.1 AUTH (인증)
|
|
41
|
+
|
|
42
|
+
| Code | HTTP | Message | Description |
|
|
43
|
+
|------|------|---------|-------------|
|
|
44
|
+
| AUTH_001 | 401 | Invalid credentials | 잘못된 이메일 또는 비밀번호 |
|
|
45
|
+
| AUTH_002 | 403 | Account disabled | 비활성화된 계정 |
|
|
46
|
+
| AUTH_003 | 401 | Invalid token | 유효하지 않은 토큰 |
|
|
47
|
+
| AUTH_004 | 401 | Token expired | 만료된 토큰 |
|
|
48
|
+
| AUTH_005 | 401 | Token required | 토큰 누락 |
|
|
49
|
+
|
|
50
|
+
### 3.2 USER (사용자)
|
|
51
|
+
|
|
52
|
+
| Code | HTTP | Message | Description |
|
|
53
|
+
|------|------|---------|-------------|
|
|
54
|
+
| USER_001 | 404 | User not found | 사용자를 찾을 수 없음 |
|
|
55
|
+
| USER_002 | 409 | Email already exists | 이미 등록된 이메일 |
|
|
56
|
+
| USER_003 | 403 | Permission denied | 권한 없음 |
|
|
57
|
+
|
|
58
|
+
### 3.3 VALIDATION (유효성)
|
|
59
|
+
|
|
60
|
+
| Code | HTTP | Message | Description |
|
|
61
|
+
|------|------|---------|-------------|
|
|
62
|
+
| VAL_001 | 400 | Required field missing | 필수 필드 누락 |
|
|
63
|
+
| VAL_002 | 400 | Invalid email format | 잘못된 이메일 형식 |
|
|
64
|
+
| VAL_003 | 400 | Password too weak | 비밀번호 강도 부족 |
|
|
65
|
+
| VAL_004 | 400 | Invalid date format | 잘못된 날짜 형식 |
|
|
66
|
+
|
|
67
|
+
### 3.4 RESOURCE (리소스)
|
|
68
|
+
|
|
69
|
+
| Code | HTTP | Message | Description |
|
|
70
|
+
|------|------|---------|-------------|
|
|
71
|
+
| RES_001 | 404 | Resource not found | 리소스를 찾을 수 없음 |
|
|
72
|
+
| RES_002 | 409 | Resource already exists | 리소스가 이미 존재함 |
|
|
73
|
+
| RES_003 | 409 | Resource in use | 사용 중인 리소스 |
|
|
74
|
+
|
|
75
|
+
### 3.5 SYSTEM (시스템)
|
|
76
|
+
|
|
77
|
+
| Code | HTTP | Message | Description |
|
|
78
|
+
|------|------|---------|-------------|
|
|
79
|
+
| SYS_001 | 500 | Internal server error | 내부 서버 오류 |
|
|
80
|
+
| SYS_002 | 503 | Service unavailable | 서비스 이용 불가 |
|
|
81
|
+
| SYS_003 | 429 | Rate limit exceeded | 요청 한도 초과 |
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## 4. 도메인별 에러 코드
|
|
86
|
+
|
|
87
|
+
### 4.1 [DOMAIN]
|
|
88
|
+
|
|
89
|
+
| Code | HTTP | Message | Description |
|
|
90
|
+
|------|------|---------|-------------|
|
|
91
|
+
| | | | |
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## 5. 에러 코드 네이밍 규칙
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
{DOMAIN}_{NUMBER}
|
|
99
|
+
|
|
100
|
+
- DOMAIN: 대문자, 2-6자
|
|
101
|
+
- NUMBER: 3자리 숫자, 001부터 시작
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
**예시:**
|
|
105
|
+
- `AUTH_001` - 인증 도메인 첫 번째 에러
|
|
106
|
+
- `ORDER_005` - 주문 도메인 다섯 번째 에러
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## 6. 변경 이력
|
|
111
|
+
|
|
112
|
+
| 버전 | 날짜 | 변경 내용 | 작성자 |
|
|
113
|
+
|-----|-----|----------|-------|
|
|
114
|
+
| 1.0 | {DATE} | 최초 작성 | |
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "기능 명세서 (Functional Specification)"
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
last_updated: {{DATE}}
|
|
5
|
+
author: tsq-planner
|
|
6
|
+
status: draft
|
|
7
|
+
project: {{PROJECT_NAME}}
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# 기능 명세서 (Functional Specification)
|
|
11
|
+
|
|
12
|
+
> 사용자 관점에서 시스템이 어떻게 동작해야 하는지 정의합니다.
|
|
13
|
+
> Requirements.md의 기능 요건을 구체적인 시나리오로 풀어낸 문서입니다.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 1. 문서 개요
|
|
18
|
+
|
|
19
|
+
### 1.1 목적
|
|
20
|
+
이 문서는 {{PROJECT_NAME}}의 기능을 사용자 시나리오 관점에서 상세히 기술합니다.
|
|
21
|
+
|
|
22
|
+
### 1.2 범위
|
|
23
|
+
- [requirements.md](./requirements.md)의 기능 요건 (FR-XXX) 구체화
|
|
24
|
+
- 사용자 인터랙션 흐름
|
|
25
|
+
- 예외 처리 시나리오
|
|
26
|
+
- 비즈니스 규칙
|
|
27
|
+
|
|
28
|
+
### 1.3 용어
|
|
29
|
+
→ [glossary.md](./glossary.md) 참조
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## 2. 기능 목록
|
|
34
|
+
|
|
35
|
+
| ID | 기능명 | 요건 참조 | 우선순위 | 상태 |
|
|
36
|
+
|----|-------|----------|:--------:|:----:|
|
|
37
|
+
| FS-001 | | FR-001 | Must | 초안 |
|
|
38
|
+
| FS-002 | | FR-002 | Must | 초안 |
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## 3. 기능 상세
|
|
43
|
+
|
|
44
|
+
### FS-001: [기능명]
|
|
45
|
+
|
|
46
|
+
#### 3.1.1 개요
|
|
47
|
+
|
|
48
|
+
| 항목 | 내용 |
|
|
49
|
+
|-----|------|
|
|
50
|
+
| **요건 참조** | FR-001 |
|
|
51
|
+
| **우선순위** | Must |
|
|
52
|
+
| **관련 화면** | [ui-ux-spec.md#화면ID](./ui-ux-spec.md) |
|
|
53
|
+
| **관련 API** | [service-spec.md#API명](./service-spec.md) |
|
|
54
|
+
|
|
55
|
+
#### 3.1.2 사용자 스토리
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
As a [사용자 역할]
|
|
59
|
+
I want to [원하는 것]
|
|
60
|
+
So that [이유/가치]
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
#### 3.1.3 사전 조건 (Preconditions)
|
|
64
|
+
|
|
65
|
+
- [ ] 조건 1
|
|
66
|
+
- [ ] 조건 2
|
|
67
|
+
|
|
68
|
+
#### 3.1.4 기본 흐름 (Happy Path)
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
1. 사용자가 [행동]
|
|
72
|
+
2. 시스템이 [반응]
|
|
73
|
+
3. 사용자가 [행동]
|
|
74
|
+
4. 시스템이 [결과]
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
| 단계 | 사용자 행동 | 시스템 반응 | 비고 |
|
|
78
|
+
|:---:|-----------|-----------|------|
|
|
79
|
+
| 1 | | | |
|
|
80
|
+
| 2 | | | |
|
|
81
|
+
| 3 | | | |
|
|
82
|
+
|
|
83
|
+
#### 3.1.5 대안 흐름 (Alternative Flow)
|
|
84
|
+
|
|
85
|
+
**AF-001: [대안 시나리오명]**
|
|
86
|
+
|
|
87
|
+
| 분기점 | 조건 | 흐름 |
|
|
88
|
+
|:------:|-----|------|
|
|
89
|
+
| 단계 2 | [조건] | [대안 흐름 설명] |
|
|
90
|
+
|
|
91
|
+
#### 3.1.6 예외 흐름 (Exception Flow)
|
|
92
|
+
|
|
93
|
+
**EF-001: [예외 시나리오명]**
|
|
94
|
+
|
|
95
|
+
| 분기점 | 예외 조건 | 시스템 반응 | 에러 코드 |
|
|
96
|
+
|:------:|---------|-----------|----------|
|
|
97
|
+
| 단계 2 | [조건] | [에러 메시지] | ERR_XXX |
|
|
98
|
+
|
|
99
|
+
→ 에러 코드 상세: [error-codes.md](./error-codes.md)
|
|
100
|
+
|
|
101
|
+
#### 3.1.7 사후 조건 (Postconditions)
|
|
102
|
+
|
|
103
|
+
- [ ] 결과 1
|
|
104
|
+
- [ ] 결과 2
|
|
105
|
+
|
|
106
|
+
#### 3.1.8 비즈니스 규칙
|
|
107
|
+
|
|
108
|
+
| 규칙 ID | 규칙 | 예외 |
|
|
109
|
+
|--------|------|------|
|
|
110
|
+
| BR-001 | | |
|
|
111
|
+
| BR-002 | | |
|
|
112
|
+
|
|
113
|
+
#### 3.1.9 수용 조건 (Acceptance Criteria)
|
|
114
|
+
|
|
115
|
+
```gherkin
|
|
116
|
+
Feature: [기능명]
|
|
117
|
+
|
|
118
|
+
Scenario: [시나리오명]
|
|
119
|
+
Given [사전 조건]
|
|
120
|
+
When [행동]
|
|
121
|
+
Then [기대 결과]
|
|
122
|
+
|
|
123
|
+
Scenario: [예외 시나리오]
|
|
124
|
+
Given [사전 조건]
|
|
125
|
+
When [예외 행동]
|
|
126
|
+
Then [예외 결과]
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
### FS-002: [기능명]
|
|
132
|
+
|
|
133
|
+
(위와 동일한 형식으로 작성)
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## 4. 기능 간 의존성
|
|
138
|
+
|
|
139
|
+
```mermaid
|
|
140
|
+
graph LR
|
|
141
|
+
FS-001[기능1] --> FS-002[기능2]
|
|
142
|
+
FS-002 --> FS-003[기능3]
|
|
143
|
+
FS-001 --> FS-004[기능4]
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
| 기능 | 선행 기능 | 후행 기능 |
|
|
147
|
+
|-----|----------|----------|
|
|
148
|
+
| FS-001 | - | FS-002, FS-004 |
|
|
149
|
+
| FS-002 | FS-001 | FS-003 |
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## 5. 비기능 요건 매핑
|
|
154
|
+
|
|
155
|
+
| 기능 | 관련 NFR | 제약 사항 |
|
|
156
|
+
|-----|---------|----------|
|
|
157
|
+
| FS-001 | NFR-001 (응답시간 < 200ms) | |
|
|
158
|
+
| FS-002 | NFR-002 (동시 사용자 1000명) | |
|
|
159
|
+
|
|
160
|
+
→ NFR 상세: [requirements.md#비기능요건](./requirements.md)
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## 6. 용어 참조
|
|
165
|
+
|
|
166
|
+
이 문서에서 사용된 도메인 용어:
|
|
167
|
+
→ [glossary.md](./glossary.md)
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## 7. 관련 문서
|
|
172
|
+
|
|
173
|
+
- [PRD](./prd.md) - 제품 요구사항
|
|
174
|
+
- [요구사항](./requirements.md) - 기능/비기능 요건
|
|
175
|
+
- [UI/UX 명세](./ui-ux-spec.md) - 화면 설계
|
|
176
|
+
- [서비스 명세](./service-spec.md) - API 정의
|
|
177
|
+
- [에러 코드](./error-codes.md) - 에러 정의
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## 변경 이력
|
|
182
|
+
|
|
183
|
+
| 버전 | 날짜 | 작성자 | 변경 내용 |
|
|
184
|
+
|------|------|--------|----------|
|
|
185
|
+
| 1.0.0 | {{DATE}} | tsq-planner | 초기 작성 |
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "용어 사전 (Glossary)"
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
last_updated: {{DATE}}
|
|
5
|
+
author: tsq-planner
|
|
6
|
+
status: draft
|
|
7
|
+
project: {{PROJECT_NAME}}
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# 용어 사전 (Glossary)
|
|
11
|
+
|
|
12
|
+
> 프로젝트에서 사용하는 도메인 용어를 정의합니다.
|
|
13
|
+
> 모든 팀원과 에이전트가 동일한 언어로 소통하기 위한 기준 문서입니다.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## 1. 비즈니스 용어
|
|
18
|
+
|
|
19
|
+
| 용어 | 영문 | 정의 | 예시 | 비고 |
|
|
20
|
+
|-----|------|------|------|------|
|
|
21
|
+
| | | | | |
|
|
22
|
+
|
|
23
|
+
<!--
|
|
24
|
+
예시:
|
|
25
|
+
| 회원 | Member | 서비스에 가입한 사용자 | 이메일로 가입한 사용자 | User와 구분 |
|
|
26
|
+
| 고객사 | Customer | B2B 계약을 체결한 업체 | ABC 주식회사 | |
|
|
27
|
+
| 구독 | Subscription | 유료 서비스 이용 계약 | 월간 플랜 | |
|
|
28
|
+
-->
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 2. 기술 용어
|
|
33
|
+
|
|
34
|
+
| 용어 | 영문 | 정의 | 관련 문서 |
|
|
35
|
+
|-----|------|------|----------|
|
|
36
|
+
| | | | |
|
|
37
|
+
|
|
38
|
+
<!--
|
|
39
|
+
예시:
|
|
40
|
+
| 토큰 | Token | 인증에 사용되는 JWT 문자열 | service-spec.md |
|
|
41
|
+
| 세션 | Session | 사용자 로그인 상태 유지 단위 | security-spec.md |
|
|
42
|
+
| 트랜잭션 | Transaction | DB 작업의 원자적 단위 | data-design.md |
|
|
43
|
+
-->
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## 3. 도메인 모델
|
|
48
|
+
|
|
49
|
+
### 3.1 핵심 엔티티
|
|
50
|
+
|
|
51
|
+
| 엔티티 | 설명 | 주요 속성 | 관계 |
|
|
52
|
+
|-------|------|----------|------|
|
|
53
|
+
| | | | |
|
|
54
|
+
|
|
55
|
+
<!--
|
|
56
|
+
예시:
|
|
57
|
+
| User | 시스템 사용자 | id, email, name | Order (1:N) |
|
|
58
|
+
| Order | 주문 | id, status, total | User (N:1), OrderItem (1:N) |
|
|
59
|
+
| Product | 상품 | id, name, price | OrderItem (1:N) |
|
|
60
|
+
-->
|
|
61
|
+
|
|
62
|
+
### 3.2 값 객체 (Value Objects)
|
|
63
|
+
|
|
64
|
+
| 값 객체 | 설명 | 구성 요소 |
|
|
65
|
+
|--------|------|----------|
|
|
66
|
+
| | | |
|
|
67
|
+
|
|
68
|
+
<!--
|
|
69
|
+
예시:
|
|
70
|
+
| Money | 금액 | amount (number), currency (string) |
|
|
71
|
+
| Address | 주소 | street, city, zipCode, country |
|
|
72
|
+
-->
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 4. 상태 정의
|
|
77
|
+
|
|
78
|
+
### 4.1 [엔티티명] 상태
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
[상태1] → [상태2] → [상태3]
|
|
82
|
+
↓ ↓
|
|
83
|
+
[상태4] [상태5]
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
| 상태 | 코드 | 설명 | 전이 가능 상태 |
|
|
87
|
+
|-----|------|------|--------------|
|
|
88
|
+
| | | | |
|
|
89
|
+
|
|
90
|
+
<!--
|
|
91
|
+
예시 (주문 상태):
|
|
92
|
+
| 대기 | PENDING | 결제 대기 중 | PAID, CANCELLED |
|
|
93
|
+
| 결제완료 | PAID | 결제 완료 | SHIPPING, REFUNDED |
|
|
94
|
+
| 배송중 | SHIPPING | 배송 진행 중 | DELIVERED |
|
|
95
|
+
| 배송완료 | DELIVERED | 배송 완료 | - |
|
|
96
|
+
| 취소 | CANCELLED | 주문 취소 | - |
|
|
97
|
+
| 환불 | REFUNDED | 환불 처리됨 | - |
|
|
98
|
+
-->
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## 5. 코드/열거형
|
|
103
|
+
|
|
104
|
+
### 5.1 [코드명]
|
|
105
|
+
|
|
106
|
+
| 코드 | 값 | 설명 |
|
|
107
|
+
|-----|-----|------|
|
|
108
|
+
| | | |
|
|
109
|
+
|
|
110
|
+
<!--
|
|
111
|
+
예시 (회원 등급):
|
|
112
|
+
| GUEST | 0 | 비회원 |
|
|
113
|
+
| BASIC | 1 | 일반 회원 |
|
|
114
|
+
| PREMIUM | 2 | 프리미엄 회원 |
|
|
115
|
+
| VIP | 3 | VIP 회원 |
|
|
116
|
+
-->
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## 6. 약어 목록
|
|
121
|
+
|
|
122
|
+
| 약어 | 전체 표현 | 설명 |
|
|
123
|
+
|-----|----------|------|
|
|
124
|
+
| | | |
|
|
125
|
+
|
|
126
|
+
<!--
|
|
127
|
+
예시:
|
|
128
|
+
| API | Application Programming Interface | |
|
|
129
|
+
| JWT | JSON Web Token | 인증 토큰 |
|
|
130
|
+
| CRUD | Create, Read, Update, Delete | 기본 데이터 조작 |
|
|
131
|
+
| SSO | Single Sign-On | 통합 인증 |
|
|
132
|
+
-->
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## 7. 관련 문서
|
|
137
|
+
|
|
138
|
+
- [PRD](./prd.md) - 제품 요구사항
|
|
139
|
+
- [요구사항](./requirements.md) - 기능/비기능 요건
|
|
140
|
+
- [데이터 설계](./data-design.md) - ERD, 테이블 정의
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## 변경 이력
|
|
145
|
+
|
|
146
|
+
| 버전 | 날짜 | 작성자 | 변경 내용 |
|
|
147
|
+
|------|------|--------|----------|
|
|
148
|
+
| 1.0.0 | {{DATE}} | tsq-planner | 초기 작성 |
|