[CRM 개발일지 #7] 상담 신청 기능 구현 (완료 페이지, 공통코드 연동, Validation)
·
SpringBoot
🚀 TODAY WORK백엔드상담 신청 완료 페이지(/consult/complete) 이동 구조 적용상담 희망 시간(CONSULT_TIME) 공통코드(code_mng) 추가상담 신청 요청 DTO(ConsultApplyRequestDto)에 preferredTime 필드 추가상담 희망 시간 Spring Validation(@Valid, @NotBlank) 적용activity_logs 테이블 preferred_time 컬럼 추가ActivityLog 엔티티 preferredTime 필드 추가상담 신청 시 ActivityLog에 상담 희망 시간 저장 로직 구현상담 희망 시간을 고객 정보가 아닌 상담 이력(ActivityLog)으로 관리하도록 구조 개선상담 신청 API 및 DB 저장 테스트 완료프론트엔드상담 신청..
[CRM 개발일지 #6] 상담 신청 기능 구현 (고객 생성, ActivityLog 자동 저장)
·
SpringBoot
🚀 TODAY WORK백엔드상담 신청 API(POST /consult/apply) 구현상담 신청 요청 DTO(ConsultApplyRequestDto) 생성CustomerService 상담 신청 비즈니스 로직 구현전화번호 + 생년월일 기준 기존 고객 조회 로직 구현신규 고객(Customer) 자동 생성 로직 구현상담 신청 시 ActivityLog 자동 생성 기능 구현ActivityLog RECEIVED 상태 저장 처리상담 신청 API 테스트 및 DB 저장 확인프론트엔드상담 신청 페이지(/consult/apply) 생성상담 전용 Layout 구성 및 공통코드(CodeInitializer) 적용상담 신청 API 연동상담 신청 Form 상태 관리 구현입력값 유효성 검증 추가공통코드(Store) 기반 관심 과..
[CRM 개발일지 #5] 상담 신청 기능 구조 설계
·
SpringBoot
🚀 TODAY WORK백엔드상담 신청 기능 구조 설계ActivityLog 엔티티 생성ActivityLog Repository 생성ActivityLog Service 생성고객 중복 조회 기능 설계연락처 + 생년월일 기준 고객 조회 메서드 추가상담 신청 Request DTO 설계상담 신청 API 구조 설계상담 신청 Controller 패키지 구조 검토🚨 TODAY ISSUE고객 중복 생성 방지 기준 정의상담 신청은 비회원도 가능하기 때문에 동일 고객이 여러 번 신청할 수 있다.고객 중복 생성 방지를 위해 어떤 값을 기준으로 고객을 식별할지 검토했다. 기존 고려안문제점 : 동명이인 존재 가능이름 + 연락처최종 결정 해당 기준으로 기존 고객 여부를 판단하도록 설계했다.연락처 + 생년월일ActivityLog ..
[CRM 개발일지 #4] 상담사 고객 관리와 관리자 대시보드 UI 구축
·
SpringBoot
🚀 TODAY WORK백엔드상담사 고객 목록 API 구조 설계상담사 전용 Controller 생성상담사 고객 조회 DTO 생성로그인 상담사 기준 고객 조회 로직 설계Spring Security Authentication 구조 이해 및 적용JWT 기반 로그인 사용자 조회 흐름 정리담당 상담사 기준 고객 필터링 구조 설계CUSTOMER_STATUS 상태 변경 API 구조 검토프론트엔드상담사 전용 레이아웃(/consultant) 구성상담사 권한 접근 제어 적용상담사 사이드바 메뉴 구성상담사 고객 목록 페이지 생성상담사 고객 목록 API 연동로그인 상담사 기준 고객 조회 구현고객 상태 변경 Select UI 추가고객 상태 저장 버튼 UI 추가상담사 대시보드 UI 구성관리자 대시보드 UI 구성로그인 페이지 UI..
[CRM 개발일지 #3] 관리자 고객 관리 API 연동 작업
·
SpringBoot
🚀 TODAY WORK백엔드Customer 엔티티 생성 및 JPA 연관관계 설정CustomerRepository 생성CustomerService 구현CustomerResponseDto 분리관리자 고객 목록 조회 API 구현담당 상담사(User) 연관관계 연결 (@ManyToOne)공통 응답(ApiResponse) 구조 연동프론트엔드/admin/customers 고객 관리 페이지 생성고객 목록 API 연동고객 테이블 UI 구현공통 코드(getCodeName) 연동zustand 기반 공통 코드 preload 구조 적용hydrated 상태 처리 구조 이해 및 적용관리자 레이아웃 사이드 메뉴 구성관리자 페이지 내부 라우팅 연결/admin/admin/users/admin/customers🚨 TODAY ISSU..
[CRM 개발일지 #2] 공통 코드 상태 관리 구조 개선 + Zustand 적용
·
SpringBoot
🚀 TODAY WORK백엔드공통 코드 API 개발 (/common-codes)JPA Composite Key(CodeId) 적용공통 코드 그룹 조회 서비스 구현관리자 사용자 조회 API 개선ApiResponse 공통 응답 구조 적용USER\_ROLE / USER\_SPECIALTY / USER\_STATUS 코드 연동프론트엔드Zustand 기반 공통 코드 전역 Store 구성공통 코드 preload 구조 구현관리자 사용자 페이지 코드명 변환 적용공통 코드 util(getCodeName) 작성Admin Layout 기반 초기화 구조로 리팩토링🚨 TODAY ISSUE1. 공통 코드 하드코딩 문제초기에는 ROLE, STATUS, SPECIALTY 값을 프론트에서 직접 문자열로 처리하고 있었다.ROLE_AD..
[CRM 개발일지 #1] 관리자 사용자 API 연결 및 응답 구조 개선
·
SpringBoot
🚀 TODAY WORKBackend관리자 사용자 조회 API 및 권한 기반 응답 구조 정리ApiResponse 기반 공통 응답 스펙 구조 개선UserResponseDto 분리를 통한 응답 모델 계층 정리Spring Security 관리자 접근 권한 설정 수정Frontend관리자 사용자 페이지 API 연동auth / admin API 모듈 구조 정리사용자 목록 데이터 연동 및 응답 구조 매핑🚨 TODAY ISSUE1. API 응답 스펙 공통화기존에는 API 마다 응답 형식이 조금씩 달라프론트 단에서 상태 처리 및 예외 분기 로직이 분산되는 문제가 있었다. 이를 개선하기 위해 ApiResponse 기반의 공통 응답 구조로 통일했다.```json{"success": true,"message": "조회 성공..