Skip to content

feat: Phase 1 - domain model and memory repository - #3

Merged
areumz merged 2 commits into
mainfrom
feature/domain-repository
Aug 29, 2026
Merged

areumz merged 2 commits into
mainfrom
feature/domain-repository

Conversation

@areumz

@areumz areumz commented Aug 29, 2026 •

Copy link
Copy Markdown
Owner

Phase 1 — 도메인 모델 + 메모리 Repository (웹 계층 없이)

"자바 객체 모델링"과 "Spring의 마법(DI)"을 분리해서 각각 검증

PR #2에 일부 파일이 미완성 상태로 커밋되어, 이 PR에서 완성된 구현으로 반영

완료한 작업

  • Category enum 정의 (개발문서/AI/채용정보/기타)
  • Article 도메인 클래스 (필드, 생성자, getter/setter)
  • ArticleRepository 인터페이스 설계 (save/findById/findAll/deleteById)
  • MemoryArticleRepository 구현 (ConcurrentHashMap + AtomicLong)
  • 순수 JUnit5 테스트 작성 (Spring 컨테이너 없이 4개 메서드 검증)
  • @Repository/@Service 부착 후 ArticleService 생성, @SpringBootTest로 DI 조립 확인

학습 개념

enum, 인터페이스, Optional<T>, ConcurrentHashMap/AtomicLong, JUnit5, 생성자 주입(DI), 싱글톤 스코프

테스트 결과

  • 순수 JUnit 테스트 4개(save/findById/findAll/deleteById) 전부 통과
  • @SpringBootTest에서 ArticleService가 정상 주입됨 확인

완료 기준 (DoD)

  • save/findById/findAll/deleteById 순수 JUnit 테스트 전부 통과
  • @SpringBootTest에서 Service가 정상 주입됨
  • eng.md §5 Repository 설계 원칙(id 채번 방식, Optional 반환) 준수

참고

  • 계획 문서: rpi/article-vocab-tracker/plan/PLAN.md (Phase 1)

@areumz areumz changed the title fix: Phase 1 파일 누락분 복구 feat: Phase 1 - domain model and memory repository- #2 Aug 29, 2026
@areumz areumz mentioned this pull request Aug 29, 2026
Merged
@areumz areumz changed the title feat: Phase 1 - domain model and memory repository- #2 feat: Phase 1 - domain model and memory repository Aug 29, 2026
@areumz
areumz merged commit c86c5bd into main Aug 29, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant