Files
taxbaik/docs/ADMIN_RAZORPAGES_ROADMAP.md
T
kjh2064 0545964468
TaxBaik CI/CD / build-and-deploy (push) Failing after 2m23s
Refactor admin login to cookie auth
2026-07-09 11:07:09 +09:00

3.7 KiB

고객관리 어드민 Razor Pages 전환 로드맵

이 문서는 고객관리 어드민을 ASP.NET Core 10 + Razor Pages + Dapper + PostgreSQL 18.4 + Flyway + Cookie Authentication + FluentValidation + Tabler UI + Minimal TypeScript 기준으로 하네스하기 위한 실행 문서다.

목표

  • 서버 렌더링 중심의 단순한 어드민 구조로 정리한다.
  • 관리자 로그인은 Cookie Authentication 으로 통일한다.
  • DB 변경은 Flyway migration 으로 관리한다.
  • PageModel 은 흐름만 담당하고, SQL 은 Repository 또는 Query Class 로 보낸다.
  • 화면은 Tabler UI 기반 공통 Partial 과 최소한의 ViewComponent 로 정리한다.

범위

  • 포함

  • 관리자 로그인

  • 관리자 공통 레이아웃

  • 고객 CRUD

  • 관리자 유저 관리

  • 대시보드

  • 검증/테스트 하네스

  • 제외

  • SPA 라우팅

  • React/Vue/Angular

  • JWT 기반 브라우저 로그인

  • API-first 어드민 화면

  • 과도한 Clean Architecture

실행 원칙

  • 먼저 문서와 폴더 기준을 고정한다.
  • 다음으로 인증과 진입점부터 서버 렌더링으로 맞춘다.
  • 이후 CRUD 화면을 페이지 단위로 옮긴다.
  • 마지막에 로컬 테스트, 커밋, 푸시를 수행한다.

로드맵

Phase 0. 기준 고정

  • 아키텍처 원칙 문서화
  • WBS 상세화
  • 어드민 라우트와 공통 컴포넌트 규칙 확정
  • 기존 Blazor / API / JWT 경로는 레거시로 분리

Phase 1. 인증 전환

  • /admin/login 을 Razor Pages form 기반으로 유지
  • 로그인 성공 시 Cookie Authentication 발급
  • /admin 하위 페이지에 인증 정책 적용
  • Logout 은 쿠키 삭제 기반으로 정리

Phase 2. 기본 CRUD 전환

  • 고객 목록/상세/등록/수정/삭제 페이지 작성
  • Request / Dto 분리
  • FluentValidation 적용
  • Dapper SQL 을 Repository 로 이동

Phase 3. 공통 UI 정리

  • _Layout, _Sidebar, _Topbar 정리
  • _ValidationSummary, _Pagination, _SearchBox, _ConfirmModal, _StatusBadge, _EmptyState 정리
  • 반복 헤더는 ViewComponent 로 정리

Phase 4. DB 정합성

  • Flyway migration 누락 점검
  • 인덱스, 제약, soft delete 정책 정리
  • seed data 와 운영 데이터 경계 정리

Phase 5. 테스트 및 검증

  • 로컬 빌드 통과
  • 로컬 테스트 통과
  • Playwright 시나리오 통과
  • 변경분 커밋 및 푸시

WBS

ID 작업 완료 기준
RP-01 어드민 아키텍처 문서화 본 문서와 하네스 문서가 docs/INDEX.md에 연결됨
RP-02 로그인 쿠키 전환 /admin/login 성공 시 Cookie Auth 가 발급되고 localStorage 토큰 저장이 제거됨
RP-03 관리자 인증 정책 적용 /admin 하위 페이지가 인증 없이 열리지 않음
RP-04 공통 레이아웃 정리 Tabler 기반 공통 레이아웃/partial 기준이 문서화됨
RP-05 고객 CRUD 설계 Request/Dto/Validator/Service/Repository 분리가 완료됨
RP-06 Flyway 보강 필요한 테이블/인덱스/제약이 migration 으로 관리됨
RP-07 로컬 테스트 dotnet build, 단위 테스트, Playwright 이 통과함
RP-08 커밋/푸시 변경이 의도된 커밋으로 정리되고 원격에 반영됨

완료 정의

기능 하나가 완료되려면 아래가 충족되어야 한다.

  • Razor Page 와 PageModel 이 존재한다.
  • Request / Dto / Validator 가 분리되어 있다.
  • Service 가 흐름을 담당한다.
  • Repository 또는 Query Class 가 Dapper SQL 을 담당한다.
  • 필요한 경우 Flyway migration 이 추가되어 있다.
  • Tabler UI 기준으로 화면이 표시된다.
  • 인증과 권한이 일치한다.
  • 로컬 빌드와 테스트가 통과한다.