Commit Graph

30 Commits

Author SHA1 Message Date
kjh2064 fb04f73f46 ux: enhance dashboard metrics and list tables with interactive navigation links
TaxBaik CI/CD / build-and-deploy (push) Successful in 48s
2026-06-28 01:07:06 +09:00
kjh2064 79492184d0 feat: CRM Phase 1-2 완성 + 시즌 시뮬레이터 + 개인정보처리방침/이용약관
TaxBaik CI/CD / build-and-deploy (push) Successful in 55s
TaxBaik Browser E2E / browser-e2e (push) Failing after 1m53s
- WBS-CRM-02: 상담 이력 (consultations 테이블 V008, ClientDetail.razor)
- WBS-CRM-03: 문의→고객 전환 (V009 client_id FK, InquiryDetail 고객등록 버튼)
- WBS-CRM-04: 신고 일정 캘린더 (tax_filings 테이블 V010, TaxFilingList.razor)
- WBS-CRM-05: 문의 상태 5단계 확장 (V011, InquiryStatus enum, InquiryList 탭)
- WBS-MKT-04: 시즌 시뮬레이터 어드민 페이지 (SeasonSimulator.razor)
- WBS-UX-04: 개인정보처리방침 /taxbaik/privacy, 이용약관 /taxbaik/terms
- Dashboard.razor 마감 임박 신고 위젯 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 00:01:16 +09:00
kjh2064 ccba017e3e feat: WBS-UX-03 FAQ 관리 기능 구현 — 어드민 CRUD + 홈페이지 DB 연동
DB:
- V007__CreateFaqs.sql: faqs 테이블 (question, answer, category,
  sort_order, is_active) + 기본 FAQ 4개 시드

Domain:
- Faq 엔티티
- IFaqRepository (GetActiveAsync, GetAllAsync, CRUD)

Infrastructure:
- FaqRepository: sort_order 정렬, CRUD

Application:
- FaqService: Categories 상수, Validate (질문·답변 필수)

Admin UI (Blazor):
- FaqList.razor: 전체 목록, 활성/비활성 상태 칩, 삭제 확인
- FaqEdit.razor: 질문/답변/카테고리/순서/활성 토글 폼
- MainLayout: 홈페이지 그룹 하위에 FAQ 관리 메뉴 추가

홈페이지:
- Index.cshtml 하드코딩 FAQ → ActiveFaqs DB 루프로 교체
- FAQ 없으면 섹션 전체 숨김 (빈 DB에 안전)
- IndexModel: FaqService 주입, Task.WhenAll 병렬 로드

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 23:39:59 +09:00
kjh2064 0e98e68532 feat: WBS-CRM-01 고객 카드 (Client Card) Phase 1 구현
DB:
- V006__CreateClients.sql: clients 테이블 (name, company_name, phone,
  email, service_type, tax_type, status, source, memo)

Domain:
- Client 엔티티
- IClientRepository (GetPagedAsync 이름/연락처/회사명 검색 + 상태 필터)

Infrastructure:
- ClientRepository: ILIKE 검색, 페이징, CRUD

Application:
- ClientService: ServiceTypes/TaxTypes/Sources 상수 정의
- CreateClientDto

Admin UI:
- ClientList.razor: 검색바 + 상태 필터 + 페이징 테이블
- ClientEdit.razor: 기본정보/세무정보/관리정보 섹션 폼
- MainLayout: 고객 관리 NavGroup 추가, 홈페이지 메뉴 그룹화

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 23:28:27 +09:00
kjh2064 cc72a67355 feat: 시즌별 마케팅 + 공지사항 관리 기능 추가
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m15s
TaxBaik Browser E2E / browser-e2e (push) Successful in 1m31s
- 연간 세무 캘린더(7개 시즌) 기반 자동 Hero 섹션 전환
- 시즌 감지 시 D-Day 카운트다운, 긴박감 배지, 시즌 CTA 표시
- 서비스 카드 순서 시즌 관련 항목 우선 정렬
- 어드민 공지사항 CRUD (등록·수정·삭제, 기간·유형 설정)
- 홈페이지 상단 공지 배너 자동 노출 (일반/배너/긴급)
- CLAUDE.md에 세무 캘린더 및 마케팅 방향 하네스 추가

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 22:45:55 +09:00
kjh2064 5df5b596c8 fix: 관리자 전역 CSS 오염 제거
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m11s
TaxBaik Browser E2E / browser-e2e (push) Successful in 1m28s
2026-06-27 21:48:26 +09:00
kjh2064 0c49e12fa0 fix: 운영 설정 배포와 탐색 UX 개선
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m9s
TaxBaik Browser E2E / browser-e2e (push) Failing after 1m27s
2026-06-27 21:41:53 +09:00
kjh2064 d58e524dfc fix: 배포 후 관리자 세션 복구 처리
TaxBaik CI/CD / build-and-deploy (push) Successful in 56s
TaxBaik Browser E2E / browser-e2e (push) Failing after 3m3s
2026-06-27 21:38:11 +09:00
kjh2064 e0067c6f55 수정: 관리자 e2e 인증 흐름 안정화
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m13s
TaxBaik Browser E2E / browser-e2e (push) Failing after 3m26s
2026-06-27 21:16:19 +09:00
kjh2064 f29f2c3cff 개선: 배포 검증과 관리자 UX 안정화
TaxBaik Browser E2E / browser-e2e (push) Failing after 1m3s
TaxBaik CI/CD / build-and-deploy (push) Failing after 2m46s
2026-06-27 20:57:09 +09:00
kjh2064 1c8208f38f feat: add admin password change form
TaxBaik Browser E2E / browser-e2e (push) Successful in 34s
TaxBaik CI/CD / build-and-deploy (push) Failing after 1m10s
2026-06-27 16:41:53 +09:00
kjh2064 e3f548f163 feat: include inquiry status changer in alerts
TaxBaik Browser E2E / browser-e2e (push) Failing after 1m6s
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m26s
2026-06-27 16:36:31 +09:00
kjh2064 1438a9e30a feat: add inquiry status shortcuts
TaxBaik Browser E2E / browser-e2e (push) Failing after 1m4s
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m22s
2026-06-27 16:32:38 +09:00
kjh2064 046a16c75b fix: use stable inquiry list links
TaxBaik Browser E2E / browser-e2e (push) Successful in 1m19s
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m22s
2026-06-27 16:28:33 +09:00
kjh2064 5626f976fc feat: improve inquiry notification links
TaxBaik Browser E2E / browser-e2e (push) Successful in 35s
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m22s
2026-06-27 16:02:14 +09:00
kjh2064 3e8cfc386c fix admin routing for browser e2e
TaxBaik Browser E2E / browser-e2e (push) Successful in 1m23s
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m26s
2026-06-27 15:09:41 +09:00
kjh2064 6b5ea85733 test: add playwright deployment gate
TaxBaik CI/CD / build-and-deploy (push) Failing after 3h2m56s
2026-06-27 12:51:16 +09:00
kjh2064 c5af05c5dd fix: remove duplicate admin route
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m16s
2026-06-27 12:39:38 +09:00
kjh2064 28060b71be feat: harden auth ops and deployment baseline 2026-06-27 10:53:53 +09:00
kjh2064 6b8a5724fa fix: harden ci restart and admin routing
TaxBaik CI/CD / build-and-deploy (push) Failing after 41s
2026-06-27 02:31:08 +09:00
kjh2064 89fc75b567 fix: add admin root redirect
TaxBaik CI/CD / build-and-deploy (push) Failing after 35s
2026-06-27 02:28:06 +09:00
kjh2064 a73503f96e fix: use InputText for admin login
TaxBaik CI/CD / build-and-deploy (push) Successful in 41s
2026-06-27 02:24:06 +09:00
kjh2064 788dd8d336 fix: bind admin login inputs on input
TaxBaik CI/CD / build-and-deploy (push) Successful in 52s
2026-06-27 02:19:49 +09:00
kjh2064 716f1f668f fix: simplify admin login inputs
TaxBaik CI/CD / build-and-deploy (push) Successful in 51s
2026-06-27 01:58:33 +09:00
kjh2064 3e196da7dd fix: simplify admin login form
TaxBaik CI/CD / build-and-deploy (push) Successful in 48s
2026-06-27 01:55:27 +09:00
kjh2064 d526817a00 fix: prevent admin login form submit reload
TaxBaik CI/CD / build-and-deploy (push) Successful in 42s
2026-06-27 01:54:20 +09:00
kjh2064 1d7dd71011 fix: unify TaxBaik deployment around CI
TaxBaik CI/CD / build-and-deploy (push) Successful in 41s
2026-06-27 01:34:17 +09:00
kjh2064 df4d85d789 fix: Login 페이지 CSS 렌더링 문제 해결
TaxBaik CI/CD / build-and-deploy (push) Successful in 34s
문제:
 로그인 페이지에서 MudBlazor CSS가 적용되지 않음
 스타일이 없는 상태로 렌더링됨

원인:
• BlankLayout에만 MudThemeProvider가 있음
• Login.razor는 직접 MudThemeProvider를 가지지 않음
• Blazor Interactive Server에서 컴포넌트 초기화 전 렌더링됨

수정:
 Login.razor에 MudThemeProvider 추가
 MudDialogProvider, MudSnackbarProvider도 추가
 버전 파일 자동 생성 (git commit hash + timestamp)

배포:
Release 빌드 → wwwroot/version.txt 생성 → 서버 배포 → systemctl restart

결과:
 로그인 페이지 CSS 정상 렌더링
 버전 정보 최신화

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-26 23:12:11 +09:00
kjh2064 f8679cafcb refactor: UI를 API 기반으로 리팩토링 - 비즈니스 로직과 View 완전 분리
TaxBaik CI/CD / build-and-deploy (push) Failing after 41s
1️⃣ HttpClient 서비스 추가
   - IApiClient 인터페이스 구현
   - GET, POST, PUT, DELETE 메서드
   - JWT 토큰 자동 관리
   - /taxbaik/api 경로 자동 처리

2️⃣ Razor Pages 리팩토링
   - Pages/Index.cshtml.cs: API /api/blog 호출
   - Pages/Blog/Index.cshtml.cs: API /api/blog, /api/category 호출
   - Pages/Contact.cshtml.cs: API /api/inquiry 호출
   - Service 의존성 제거

3️⃣ Blazor Components 리팩토링
   - Login.razor: API /api/auth/login 호출로 변경
   - BlogList.razor: API /api/blog/admin/all 호출로 변경
   - Service 의존성 제거

아키텍처:
  View (Razor Pages + Blazor)
    ↓ HttpClient
  Controllers (REST API)
    ↓
  Services (비즈니스 로직)
    ↓
  Repository (DB)

테스트 결과:
 홈페이지: 200 OK
 블로그 페이지: 200 OK
 문의 페이지: 200 OK
 로그인 페이지: 200 OK
 API 엔드포인트 모두 작동

장점:
• UI 리뉴얼 시 API 변경 불필요
• 모바일앱, 데스크톱 클라이언트 추가 가능
• 비즈니스 로직과 UI 완전 독립
• 테스트 가능한 구조 완성

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-26 22:56:41 +09:00
kjh2064 57269e281d refactor: Web과 Admin 통합 - 단일 포트 5001로 운영
TaxBaik CI/CD / build-and-deploy (push) Failing after 36s
분리의 단점을 제거하고 단일 앱으로 통합:

구조 변경:
- TaxBaik.Admin → TaxBaik.Web/Components/Admin/
- Admin Services → TaxBaik.Web/Services/
- 포트: 5001 (기존 5002 제거)

경로:
- 홈페이지: http://localhost:5001/taxbaik
- 관리자: http://localhost:5001/taxbaik/admin

기술:
- Razor Pages (Web) + Blazor Server (Admin) 통합
- 단일 Program.cs로 양쪽 모두 지원
- JWT 인증 유지
- MudBlazor UI 유지

장점:
- 개발 복잡도 감소 (터미널 1개)
- 배포 단순화 (앱 1개)
- DB 마이그레이션 1회 실행

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-26 22:35:21 +09:00