Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Team15 - BE] 1주차 PR #33

Merged
merged 79 commits into from
May 1, 2021
Merged

Conversation

Seohyoung
Copy link
Collaborator

안녕하세요 team15 우디 트리입니다!

클래스 명 네이밍 문제

  • 현재 구현한 로직에서는 필요한 데이터만 추출해서 response 할 수 있도록 DTO를 만들어서 구현하였습니다.
  • 저희가 명명, 사용한 DTO가 사실 DAO인지 아니면 Entity인지 궁금합니다.

[ API 관련 참고사항 ]

  • 제공된 Mock API를 기준으로 만들었습니다
  • 현재 밥찬들(main, soup, side)에 대한 url 매핑을 아래와 같이 구현했습니다.
    • @GetMapping("/main"), @GetMapping("/soup"), @GetMapping("/side")
    • 원래는 @PathVariable로 밥찬들을 포괄할 수 있게 메소드 한 개만 구현을 해놨으나, @GetMapping("/best") 와 겹치는 문제가 발생하여 각각의 메소드로 나누어준 상태입니다.
    • 프론트와 협의해서 이후 ItemController에 공통 url(ex, /dish/main)을 만들어서 @GetMapping("dish/{section_name}")로 통합할 예정입니다. 이 점 참고해주세요!!

jihye-woo and others added 30 commits April 20, 2021 17:40
- 스프링 부트 프로젝트 기본 셋업
- 프로젝트 상위 폴더에 .gitignore 파일 추가
- application.properties에 datasource 설정 추가
- 테이블 컬럼 구조에 맞춰 스키마 및 데이터 생성
- 도메인 생성
- DishRepository 생성 및 테스트 코드 추가
- DishService 생성 및 테스트 코드 추가
- DishController 생성 및 테스트 코드 추가
- DishService 생성 및 테스트 코드 추가
- DishController 생성 및 테스트 코드 추가
- DishDTO, BestResponseDTO 생성
- delivery 테이블 필드 delivery_type, delivery_fee, delivery_condition의 디폴트 값 설정
- data.sql에 수정된 스키마에 맞추어 쿼리문 수정
- Mockup API 네이밍을 참고해서, DishDTO에서 ItemDTO로 클래스명 수정
- 사용하지 않는 클래스 SectionResponseDTO.java 삭제
- DishRepository::findById, DishRepository::findAll 메소드를 오버라이드
  - 커스텀 쿼리를 사용하여, 클라이언트의 요청에 맞는 데이터(ItemDTO)를 추출
- 특정 section에 속한 dish 데이터를 가져오는 기능 구현
  - DishController::showDishsBySection 메소드 구현
  - DishService::showDishsBySection 메소드 구현
  - DishRepository::findAllBySection 구현 및 커스텀 쿼리 추가
- Mockup API의 네이밍에 맞게 Dish라는 명칭을 Item으로 수정
- 불필요한 메소드 ItemController::showDishByHash 삭제
- BestRepository 생성
- BestController 생성
- 특정 세션에 대한 메소드들로 분리
- Best 테이블과 매핑되는 Best 엔티티 클래스 생성
- 배포 시 jar을 빌드하기 위해, gradle-wrapper.jar 파일 origin으로 커밋
- DB에서 이벤트 테이블을 삭제
- DB 테이블 변경 사항을 클래스와 커스텀 쿼리에 적용
- dish_best 테이블을 추가하면서 data.sql과 schema.sql에도 변경사항을 반영
- 클라이언트가 요청한 json 데이터 형식에 맞춰 BestDTO 구현
- 추가한 DishBest 테이블과 매핑되는 클래스 구현
- best API와 관련된 기능 구현
  - /best -> 모든 best 목록 가져오기
  - /best/{category_id} -> 특정 best 정보 가져오기
jihye-woo and others added 14 commits April 27, 2021 19:41
- SectionDishesDTO 클래스 구현
  - 각 밥찬(section)에 대한 응답 데이터를 SectionDishesDTO에 래핑

- DishController::showDishesBySectionName에 적용
  - SectionDishesDTO로 래핑된 응답 데이터를 클라이언트에게 리턴
- BestDTO items 변수명 변경
  - DB 테이블 명과의 통일성을 위해 items 대신 dishes 사용
- BestDishesDTO::of 구현
  - BestDishesDTO 내부에 정적 팩토리 메소드 생성
  - BestController::showAllBestDishes 메소드에 적용

- BestDishesDTO의 생성자를 private으로 변경
  - 외부에서 DTO의 생성자에 직접 접근하는 대신, 정적 팩토리 메소드를 통해서 객체를 생성하도록 함
-data.sql에 존재하는 데이터 모두 추가

(best는 이미지가 열리지 않아서,
 best에 연관된 image테이블 db는 존재하지 않고,
 top_image도 안열리는 상태)
- data.sql에 주어진 데이터들을 DB에 인서트하는 쿼리문을 추가
-data.sql 오타 수정
-event가 2개씩 있는 로우를 한개로 병합
- best_dishes 테이블명과 best_category_id 컬럼명 변경
-Detail 정보를 보는 로직 구현
 -제공된 API에 맞추어 Detail 정보에 hash와 data property를 출력하고
 -data property에 전달되는 값을 출력하도록 구현
-Detail 정보를 보는 로직 구현
 -제공된 API에 맞추어 Detail 정보에 hash와 data property를 출력하고
 -data property에 전달되는 값을 출력하도록 구현
ksundong pushed a commit that referenced this pull request Apr 28, 2021
@ksundong
Copy link
Member

@choitree @jihye-woo
변경중이신건가요? commit은 계속 올라오는데 Review요청이 없어서 여쭤봅니다.

-주석에 띄어쓰기 추가
- FE 요청대로 디테일 데이터 필드 변경
 - price 배열을 각각 전달, normalPrice null일 경우 필드에서 제외
 - title 정보 추가
 - badge 정보 추가
- FE 요청대로 디테일 데이터 필드 변경
 - price 배열을 각각 전달, normalPrice null일 경우 필드에서 제외
 - title 정보 추가
 - badge 정보 추가
- DishDTO 클래스 이름을 DishDAO로 변경
- DishDTO 클래스 이름을 DishDAO로 변경
@choitree
Copy link

디온 재리뷰 요청이 지연된 점 죄송합니다.ㅠㅠ
아직 구현되지 못한 부분과 배포에 시간이 할애되고 있어서 디온이 주신 리뷰 내용에 온전히 집중하기가 어려웠습니다.
리뷰주신 내용에 코멘트를 작성하기 위해 다시 코드를 뜯어(?)보면서 조금 더 간결해질 수 있다는 사실을 인지하였지만
우선 작동이 되도록 구현하는 저희의 목표를 우선으로 진행하다보니 많은 부분을 놓친 것 같습니다
금일 배포 작업을 진행하고, 명일에 가능하다면 배포와 무관한 브랜치를 만들어 리팩토링하도록 하겠습니다.

디온이 신경써주셨는데 코멘트가 많이 지연된 점 양해 부탁드립니다 😭

- normalPrice, badge에 NON_NULL 어노테이션 추가
- Dish 테이블에 stock컬럼에 음수가 들어갈 수 없도록 UNSIGNED 설정 추가
- 사용자 정의 Exception 추가
- 주문 시 재고 변동이 반영되도록, update 메소드 구현
- 주문 시 재고가 변동될 수 있도록 로직 구현
@ksundong ksundong merged commit 70c1e63 into codesquad-members-2021:team15 May 1, 2021
crongro pushed a commit that referenced this pull request May 3, 2021
* Chore. Category 컴포넌트 생성

* Feat. Category UI #4

* Style. Add  Header Styled Component #18

* Style. Head style and react icon 추가 #18

* Feat. delivery 작업 중 #9

* Style: Category style #4

* Feat. hover & badge 완료

* Style: Category UI #4

* Feat. 초기데이터 fetch 요청
-Fetch custom Hook 작성
-초기데이터: 메인메뉴, 카테고리1번

* Feat. tabClick 효과 구현 #33, MainMenu Fetch #3

* Style. categorySlide 1줄 나열. #4

* Chore. 더보기 버튼 구현시작 #5

* Feat. 상세페이지 폼 구현
- 배경색설정/상세페이지 위치 가운데로 설정/x버튼구현
- x버튼 클릭  시 기존 페이지로 보여줌 #36

* Chore. 불필요한 코드, 파일 제외하여 pr하기

* Feat: toggle button #5

* Feat. 상세데이터 fetch  받아옴 #38

* Feat: loading 중에 loading 이미지 삽입 #5

* Fix: 호버 이미지에 margin 적용 제거 #4

* Style: cursor and category title

* Feat. 배포API주소로 변경 (CATEGORY제외)

* Fix. REACT WARNING 수정: HEADER styled-components 선언 위치 수정

* Feat: env 파일에 url 넣기

* Chore: fetch 대신 axios 이용

* Fix: fetch error 임시로 고침

- detail 컴포넌트에서 처음에 fetch 받는 데이터를 유효한 url로 주어서 에러가 나오지 않게 했다.

* Fix: fetch error fix

- fetch hook 에 null 이 들어오면 fetch 를 하지 않게 해서 처음랜더링 될때 fetch 하지 않게 했음
- 더보기 클릭 연속으로하면 나타나는 warning Warning: Can't perform a React state update on an unmounted component.
-> useEffect에 클린함수로 상태값 초기화 시켜줘서 해결

* Fix: loading 화면 띄우게 하기

* Feat: Error handling

- useFetch 안에서 error 처리

* Fix: FeedBack 반영

- component 명칭 통일

* Fix: Feedback 반영

- ModalMode  => modalMode

* Feat: add Modal component

* Feat: loading gif MainMenu

* Feat: error component

* Chore. 복구

* Chore.  error 수정

* Feat. portal사용-> modalError 수정

* Fix: header hover 에러 고침

* Feat: stock 0 일시 버튼 disable

* Refactor: OrderBtn

* Feat. 수량 onChange 작업 중

* Chore. PRICEE + STOCK  관리 추가 MERGING

* Feat. 상세페이지 이미지클릭시 대표이미지 변경

* Feat. error 컴포넌트생성

* Feat. errorPage에서 메인홈으로 이동

* Chore. rebase FE

* Chore. rebase 2/13

* Chore : .gitignore 파일 생성

* Chore : 프로젝트 폴더인 BE 폴더 안에 .gitignore 파일 생성

* Chore : side dish 스프링 부트를 이용한 gradle 프로젝트 생성

* Feat : jdbc를 이용한 mysql 연결을 위해 application.properties 설정

* Feat : side dish 프로젝트의 schema.sql 파일 생성

* Chore: .gitignore 추가

* Feat: dish 관련 클래스와 레포지토리 생성

기본 프로젝트 골격을 잡기 위해 Dish, DishController, DishRepository, DishService, BestDishResponseDTO의 틀 생성

* Feat: badge 관련 클래스와 레포지토리 생성

기본 프로젝트 골격을 잡기 위해 Badge, BadgeRepository 생성

* Delete BE directory

* Delete .gitignore

* Chore. merging(error+oath)

* Feat. useFetch method전달방식 변경
- Ooath 인증코드 8080 포트로 post요청
-cors blocked

* Feat. 캐러셀 상세페이지 적용

* Feat. DetailPage 미니캐러셀 구현 중

* Feat. 재고주문api요청보냄, but실패

* Style : detailpage

* -

* Feat. LOGIN 요청중

* Chore. 로그인 작업구현중

* Feat. 재고수량 DB 업뎃가능, (새로고침시만)

* Fix: error

* Feat. Login구현
-atomic component화

* Feat. 받은 토큰으로 다시 get요청 ->  로그인정보 가져오기 구현

* Refactor . 파라미터 분해할당

* Chore. 불필요한 constant파일 삭제

* Feat.로그아웃 api 요청

* Update README.md

* Chore. igonore설정

* Chore.

* Chore. 끝나지않는 merge

* Feat. 범용성있는  Carousel은 전역 폴더링.
-기타 중복 파일 삭제

Co-authored-by: eamon3481 <68339352+eamon3481@users.noreply.github.com>
Co-authored-by: jeong-inho <derosatam76@gmail.com>
Co-authored-by: Jeong InHo <63284310+eNoLJ@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
review-BE BE 리뷰
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants