Skip to content

Commit 8a50c5b

Browse files
author
OfflinePOS Portfolio
committed
Keep portfolio markdown documents local-only
1 parent 864ce4f commit 8a50c5b

20 files changed

Lines changed: 23 additions & 1592 deletions

.gitignore

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -488,7 +488,8 @@ $RECYCLE.BIN/
488488
.run/
489489
tmp/
490490

491-
# Public portfolio documents under docs/ stay tracked. Keep personal drafts
492-
# and recruiter-specific notes local so they never enter the public repository.
491+
# Portfolio source Markdown is local-only. README, PDF and image evidence stay public.
493492
docs/local/
494493
*.local.md
494+
docs/**/*.md
495+
PLAN.md

PLAN.md

Lines changed: 0 additions & 362 deletions
This file was deleted.

README.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
| 무엇을 해결했나 | 중앙 서버가 끊겨도 `Sales + SaleItems + Outbox`를 SQLite 한 transaction으로 확정 |
1414
| 어떻게 중복을 막나 | at-least-once 전송과 MSSQL `MessageId + payload hash` 멱등 consumer 조합 |
1515
| 무엇으로 증명했나 | 실제 SQLite/LocalDB 통합 테스트 76개, 응답 유실·동시 중복·payload 충돌 fixture |
16-
| 채용 담당자가 먼저 볼 것 | [Showcase 화면](output/images/OfflinePOS-showcase.png) · [2페이지 기술서](output/pdf/OfflinePOS-project-sheet.pdf) · [3분 데모 원고](docs/demo-script.md) |
16+
| 채용 담당자가 먼저 볼 것 | [Showcase 화면](output/images/OfflinePOS-showcase.png) · [2페이지 기술서](output/pdf/OfflinePOS-project-sheet.pdf) · 상세 Markdown 문서는 로컬 전용 |
1717

1818
핵심 구현보다 중요한 것은 **무엇을 보장하고 무엇을 보장하지 않는지**를 분리한 점입니다. 이 프로젝트가 보장하는 것은 중복 매출 등록 방지 설계이며, 실제 카드 승인 중복 방지나 운영 경험을 주장하지 않습니다.
1919

@@ -31,7 +31,7 @@
3131
- 정식 합성 sync run: 5,000건, 50개 batch, 동시성 4, 3,414 sales/s, batch p50 88.706ms / p95 310.092ms / p99 310.150ms, 모두 `Applied`
3232
- WPF 운영 흐름: 상품 검색·카테고리·키보드 단축키, 당일 매출 KPI, 거래 내역 조회·선택 영수증 재출력
3333

34-
검증한 범위와 아직 검증하지 않은 범위는 [구현 현황](docs/implementation-status.md)에 분리해 두었습니다.
34+
검증한 범위와 아직 검증하지 않은 범위는 로컬 전용 `docs/implementation-status.md`에 분리해 두었습니다.
3535

3636
## 빠른 시작 — Docker 불필요
3737

@@ -95,7 +95,7 @@ $env:OFFLINEPOS_SHOWCASE="1"
9595
4. `동기화 대시보드`에서 상태와 시도 횟수를 확인합니다.
9696
5. 연결을 복구해 `Completed` 전환을 확인합니다.
9797

98-
완성된 녹화 흐름은 [3분 데모 스크립트](docs/demo-script.md)를 따릅니다.
98+
완성된 녹화 흐름은 로컬 전용 `docs/demo-script.md`를 따릅니다.
9999

100100
## 아키텍처
101101

@@ -124,7 +124,7 @@ flowchart LR
124124
- 판매·판매항목·outbox는 한 SQLite 트랜잭션으로 저장합니다. 인쇄는 커밋 이후 실행하므로 실패해도 판매를 지우지 않습니다.
125125
- 전송은 at-least-once이며, 서버가 `MessageId`와 canonical SHA-256 payload hash로 중복 소비를 멱등 처리합니다.
126126

127-
상세 흐름과 데이터 소유권은 [아키텍처 문서](docs/architecture.md), 결정의 배경은 [ADR 목록](docs/adr/README.md)에 있습니다.
127+
상세 흐름과 데이터 소유권은 로컬 전용 `docs/architecture.md`, 결정의 배경은 `docs/adr/README.md`에 있습니다.
128128

129129
## 핵심 실패 시나리오
130130

@@ -138,7 +138,7 @@ flowchart LR
138138
| TCP frame 분할·병합·절단 | 정확히 재조립하거나 명시적 실패 | `LengthPrefixedJsonCodecTests` |
139139
| 카드단말 결과 저장 후 연결 종료 | 같은 `RequestId` 재요청으로 기존 결과 회수 | `AuthorizeAsync_DropAfterCommitCanBeRecoveredWithSameRequestId` |
140140

141-
전체 표와 수동 검증 항목은 [장애·복구 매트릭스](docs/failure-matrix.md)를 참고하세요.
141+
전체 표와 수동 검증 항목은 로컬 전용 `docs/failure-matrix.md`를 참고하세요.
142142

143143
## 구현 범위와 표현 경계
144144

@@ -162,7 +162,7 @@ flowchart LR
162162
| `OfflinePOS.Server.IntegrationTests` | 6 | 실제 LocalDB API, 순차·동시 멱등성, 409, validator, 정산 프로시저 |
163163
| `OfflinePOS.EndToEndTests` | 2 | 오프라인 5건 복구, 응답 유실 후 중복 없는 재전송 |
164164

165-
명령과 결과의 해석은 [검증 기록](docs/verification.md)에 정리했습니다.
165+
명령과 결과의 해석은 로컬 전용 `docs/verification.md`에 정리했습니다.
166166

167167
## 저장소 구조
168168

@@ -184,26 +184,26 @@ scripts/ 검증·DB 초기화·demo·benchmark 실
184184
docs/ 포트폴리오 근거 문서
185185
```
186186

187-
공개 포트폴리오 근거 문서는 아래 목록처럼 저장소에 포함합니다. 개인 메모·초안은 `docs/local/` 또는 `*.local.md`로 작성하면 `.gitignore`가 로컬에서만 관리합니다.
187+
상세 포트폴리오 Markdown 원고는 개인정보·지원서 맞춤 내용 보호를 위해 공개 저장소에서 제외하고 로컬에서만 관리합니다. 공개 저장소에는 README, PDF, 이미지 증거만 남깁니다.
188188

189189
## 포트폴리오 문서
190190

191-
- [구현 현황과 미구현 경계](docs/implementation-status.md)
192-
- [CJ올리브영 공고 요구사항 추적표](docs/requirements-traceability.md)
193-
- [아키텍처](docs/architecture.md)
194-
- [장애·복구 매트릭스](docs/failure-matrix.md)
195-
- [TCP 카드단말 프로토콜](docs/card-terminal-protocol.md)
196-
- [ADR](docs/adr/README.md)
197-
- [3분 데모 스크립트](docs/demo-script.md)
198-
- [1~2페이지 프로젝트 기술서 원고](docs/project-sheet.md)
191+
- 구현 현황과 미구현 경계 · `docs/implementation-status.md` (로컬 전용)
192+
- CJ올리브영 공고 요구사항 추적표 · `docs/requirements-traceability.md` (로컬 전용)
193+
- 아키텍처 · `docs/architecture.md` (로컬 전용)
194+
- 장애·복구 매트릭스 · `docs/failure-matrix.md` (로컬 전용)
195+
- TCP 카드단말 프로토콜 · `docs/card-terminal-protocol.md` (로컬 전용)
196+
- ADR · `docs/adr/README.md``docs/adr/*.md` (로컬 전용)
197+
- 3분 데모 스크립트 · `docs/demo-script.md` (로컬 전용)
198+
- 1~2페이지 프로젝트 기술서 원고 · `docs/project-sheet.md` (로컬 전용)
199199
- [지원서 첨부용 프로젝트 기술서 PDF](output/pdf/OfflinePOS-project-sheet.pdf)
200200
- [WPF 실행 화면 캡처](output/images/OfflinePOS-main-window.png)
201201
- [WPF Showcase 화면 캡처](output/images/OfflinePOS-showcase.png)
202-
- [포트폴리오 보기 순서](docs/portfolio-index.md)
203-
- [상용 POS 대비 품질 기준](docs/competitive-bar.md)
204-
- [로컬 검증 기록](docs/verification.md)
205-
- [합성 성능 측정 방법](docs/performance.md)
206-
- [원래 구현 계획](PLAN.md)
202+
- 포트폴리오 보기 순서 · `docs/portfolio-index.md` (로컬 전용)
203+
- 상용 POS 대비 품질 기준 · `docs/competitive-bar.md` (로컬 전용)
204+
- 로컬 검증 기록 · `docs/verification.md` (로컬 전용)
205+
- 합성 성능 측정 방법 · `docs/performance.md` (로컬 전용)
206+
- 원래 구현 계획 · `PLAN.md` (로컬 전용)
207207

208208
## 이력서 한 줄
209209

docs/adr/001-mixed-runtimes.md

Lines changed: 0 additions & 42 deletions
This file was deleted.

docs/adr/002-transactional-outbox.md

Lines changed: 0 additions & 45 deletions
This file was deleted.

docs/adr/003-at-least-once-delivery.md

Lines changed: 0 additions & 50 deletions
This file was deleted.

docs/adr/004-server-idempotency.md

Lines changed: 0 additions & 48 deletions
This file was deleted.

0 commit comments

Comments
 (0)