1. 프로젝트 개요
이번 파트에서는 예약 서비스의 상세보기 페이지를 만들어보겠습니다.
상세보기 페이지는 메인화면에서 각 아이템을 선택한 경우 이동하는 페이지입니다.
해당 페이지에서는 각 아이템의 상세한 정보를 노출해야합니다.
이번 파트에서는 백엔드의 경우 기존에 배웠던 내용을 토대로 구현을 이어나가시면 됩니다.
프론트엔드에서는 이번 파트에서 새롭게 배운 기술을 포함해서 추가로 구현해야 합니다.
기획서
위 영상에도 나왔던 기획서는 아래 링크를 통해서 확인하실 수 있습니다.
이번 파트는 아래 기획서 중 8-13 페이지 부분만 개발합니다.
docs.google.com/presentation/d/1i2IC1yIH5ACFCvCH4EMVv_3Zw2oltRvHK94amyNEKbs/edit#slide=id.p10
2. 프로젝트의 개발스펙
웹프론트엔드 기술요구사항
- 전체 코드는 객체리터럴 패턴으로 구현해야 하고, 더불어 전역변수를 최소화해야 합니다.
- 한 개 이상 객체리터럴을 사용할 수 있습니다.
- 상단 타이틀 이미지 영역의 애니메이션은 CSS3의 transition과 transform을 활용해서 구현해야 합니다.
- 상단에 추가로 노출해야 하는 기타 이미지는 Ajax요청을 통해 가져옵니다.
- DOMContentloaded 이후에 모든 자바스크립트 로직이 동작하게 합니다.
- Event delegation으로 처리할 수 있는 영역은 최대한 delegation방법으로 처리합니다.
- Templating 작업은 handlebar 라이브러리를 사용해서 구현해야 합니다.
- 함수 하나에 여러 개의 기능을 넣지 않고, 함수를 여러 개로 분리합니다.
- 중복코드를 제거하고 공통부분은 공통함수로 만듭니다.
- 변수와 함수 이름은 본인이 정한 코딩컨벤션을 최대한 지킵니다.
- 접기/펼치기 기능은 jQuery 라이브러리를 사용할 수 있습니다.
웹백엔드 기술요구사항
- controller, service, dao로 레이어드 아키텍쳐를 구성합니다.
- spring JDBC를 이용하여 주어진 테이블로부터 입력, 수정, 삭제, 조회하는 DAO와 DTO를 작성합니다.
- 서비스 인터페이스를 작성하고 해당 인터페이스에 비지니스 메소드를 추가합니다.
- 서비스 인터페이스를 구현하는 클래스를 작성하고 클래스 내 메소드에 적절한 트랜잭션에 관련된 애노테이션을 사용합니다.
- 클라이언트에게 Web API를 제공하기 위해 RestController 를 작성합니다.
3. Web API 스펙
상품 전시 정보 구하기 API 스펙 & test
- GET (상품 정시 정보 구하기): /api/products/{displayInfoId}
- 하나의 상품은 여러 곳에서 전시될 수 있기 때문에 path variable 변수값이 productId가 아닌 displayInfoId인 것을 주의해야합니다.
product_price 테이블에 price_type_name 값은 아래와 같습니다.
성인(A), 청소년(Y), 유아(B), 셋트(S), 장애인(D), 지역주민(C), 어얼리버드(E) 기타 다른 유형이 있다면 위와 겹치지 않게 1자로 정의하여 기입, VIP(V), R석(R), B석(B), S석(S), 평일(D)
링크
www.boostcourse.org/web316/project/10/content/8?isDesc=false#summary
'프로젝트 정리 > Naver Boost Course' 카테고리의 다른 글
file upload의 확장자검사 및 썸네일노출 (0) | 2021.03.30 |
---|---|
file upload방법의 이해 (0) | 2021.03.30 |
네이버 부스트 코스 풀스택 과정 리팩토링 시작 (0) | 2021.03.24 |
BE_PJT E-1. 예약관리 시스템: 예약하기 (0) | 2021.03.24 |
BE_PJT C-1. 예약: 메인페이지 (0) | 2021.03.24 |