step3-kakao-tech-campus / team5_be Goto Github PK
View Code? Open in Web Editor NEW투명한 가격으로 웨딩 플래너와 예비 부부를 매칭하다, `순수 웨딩`
License: MIT License
투명한 가격으로 웨딩 플래너와 예비 부부를 매칭하다, `순수 웨딩`
License: MIT License
멤버십에 가입한 유저들에게만 해당 플래너의 이전 거래 내역 정보가 보여질 수 있도록
user와 payment 를 분리하기
플래너 이름을 이용하여 검색을 진행하면 데이터베이스 오류 발생
- 회원 탈퇴 구현 (플래너, 예비 부부)
견적서 전체 확정 시에 해당 플래너의 포트폴리오가 없다면 에러 발생하는 부분 해결
견적서 전체 확정 시 포트폴리오의 거래 내역 평균, 최소, 최대 가격을 업데이트 한다
포트폴리오 리스트 조회 시, 플래너 이름과 지역으로 필터링한 결과를 보여주는 기능 구현
포트폴리오 등록 및 수정 서비스 로직에서 발생할 수 있는 예외 상황들을
파악하고 해당 상황들을 핸들링 할 수 있는 예외 처리 코드 추가
포트폴리오 리스트 조회 방식을 기존 페이지 기반에서 커서 기반 페이지네이션으로 변경
포트폴리오 검색 시, 견적가를 이용한 검색 구현
포트폴리오 거래내역의 평균 가격 계산 시 divide by zero 문제 해결
탈퇴한 플래너의 포트폴리오 id로 조회 시 예외 처리
포트폴리오 리스트 조회 시 탈퇴한 플래너의 포트폴리오는 조회되지 않도록 수정
현재 포트폴리오 업데이트 관련 기능들을 포트폴리오 엔티티에 컬럼별로 update 메서드를 추가해서 변경하고 있는 방식이 불변 객체 패턴에 어긋나므로, 변경이 필요한 경우 새 객체를 생성하는 방식으로 변경
토큰 관련 오류가 발생하면 에러 메시지가 중복되어 출력되는 문제 발생
유저와 관련된 기능 추가
user/info
api 구현user/upgrade
api 구현코드 리팩토링
멘토 님께 제안받은 개선점들을 수정 및 보완
멘토님 피드백 이후 로그인 및 회원가입 부분 리팩토링
유저 업그레이드시 body가 잘못된 경우 error response를 보내주기 (현재는 success responseBody에 "fail"을 담음
멘토님 코드 리뷰 기반 리팩토링
JWTProvider
에서 메서드 non-static으로 변경GlobalExceptionHandler
에서 예외 처리 메서드 중복 줄이기FilterResponseUtils
의 메서드 일반화하기보안 강화를 위한 refresh token 구현
이미지 저장 방식이 변경됨에 따라 이미지 엔티티가 수정될 필요가 있을 듯함
추가로 엔티티 코드를 구현할 때 컬럼에 NotNull 등의 제약조건을 고려하지 않고
일단 그냥 컬럼만 추가했기 때문에 필요한 제약조건들을 고려해서 수정할 필요가 있음
포트폴리오와 썸네일 이미지를 조회할 때, 순서 불일치 문제가 발생합니다.
포트폴리오 상세 조회 메서드에 거래내역 조회 부분 추가
로그인 토큰과 관련된 오류의 경우, 응답 양식 변경
4주차 Code Review를 기반으로 한 리팩토링 작업
- 포트폴리오 등록 및 수정 기능
-> 레포지토리 & 기능 단위 테스트 및 통합 테스트 코드 구현
테스트 코드 보충
채팅방 생성시 chatId 반환
견적서 등록 및 조회 기능 구현
Component
Annotation이 붙어있는 JWTProvider의 static 변수, 메서드를 없애고 Bean으로 주입받아 사용하도록 변경
Chat과 Match 엔티티 분리
매칭내역 관련 Update, Delete 기능 구현
포트폴리오 수정 하기
포트폴리오 조회 쿼리를 요청하면 유저 정보 검색으로 인해 추가 쿼리 발생
포트폴리오 거래내역 조회 부분 테스트 코드 작성 필요
6주차 코드리뷰 기반 리팩토링
견적서 기능 구현 마무리하기
포트폴리오에 대한 읽기, 삭제 테스트 코드 작성
견적서 등록, 1개 확정 시 매칭 내역에서 가격 업데이트가 안되는 문제
견적서 테스트 코드 추가
매칭 내역 수정 및 삭제 기능 테스트 코드 추가
현재 포트폴리오 등록 및 수정 기능에 썸네일 항목이 누락되어 있는 상태이므로 수정이 필요함
- 회원 탈퇴 기능 모두 완성
- 포트폴리오 등록에서 전달받은 이미지를 서버에 (.jpg)로 저장하는 현재 방식은
이미지가 추가될 때마다 매번 다시 배포해야 하는 단점이 존재함.- 따라서 이미지 파일을 base62의 문자열 데이터로 인코딩 하는 등
별도의 방식을 통해 이미지 저장에 대해서 고민해볼 필요가 있음
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.