Code Monkey home page Code Monkey logo

naver-reservation's Introduction

네이버 예약 서비스

목적

부스트 코스 Full-Stack Web Developer 과정

기본적인 요구사항 구현이외에도 추가적인 구현을 목표로 합니다.

메인

main_1

상세

detail_1

예약

reservation_1

나의 예약

my_reservation_1

리뷰

review_1

naver-reservation's People

Contributors

so3500 avatar

Stargazers

 avatar

Watchers

 avatar

naver-reservation's Issues

image를 처리하는 controller 구현

"현재 일부 이미지는 controller를 통해서 가져오고 일부 이미지를 이미지 경로를 통해 직접 가져옴.

모든 이미지를 controller를 통해서 가져올 수 있도록 구현

redirectView가 아닌 byte로 반환

페이징 처리 시 TOTAL 건수 조회를 활용한 최적화

일반적으로 페이징 처리를 할때는 TOTAL건수를 조회하는 쿼리를 먼저 실행하고 TOTAL 건수가 0건 이상인 경우 데이터를 조회하는 쿼리를 실행하도록 많이 개발을 합니다.

그 이유는 TOTAL 건수를 조회 했을 때 결과가 0건 이면 데이터를 조회 하는 쿼리를 실행해도 결과가 없는 것을 알수 있기 때문에 불필요한 쿼리 실행을 막을 수 있기 때문입니다.

예약 및 예약확인 구현

"'### ISSUE

  • server side rendering VS client side rendering
  • data-price-id 값을 FE에서 조작한다면 BE에서 올바른 price id인지 어떻게 검증할 수 있을까?

메인화면

  • 예매확인을 위해 이메일을 입력 후 예약확인을 눌렀을 때 예매 내역이 있다면 이메일 정보를 세션에 저장
  • 세션에 이메일 정보가 있을 경우 예매 확인 버튼 대신 이메일을 보여주고, 이메일을 클릭하면 해당 이메일로 예약된 예매 내역이 보이기
  • 이메일 로그인 세션처리

예약하기

FE

  • 페이지에서 데이터 채우기 jstl로 구현시 포맷팅(금액 등) 관련 이슈는 jstl formatting tag 검색
  • prototype 방식 적용
페이지 이벤트
  • 버튼 활성화/비활성화
  • 약관 보기/접기
  • form validation check
  • 폼 데이터 전송

BE

  • 서버에서 예약날짜(+5일) 만들어서 보내기
  • 폼 데이터 처리(controller, service, dao, mapper(query))

예약확인

FE

  • 예약 확정, 이용완료, 취소된 예약 수 표시 및 보여주기
  • 예약 취소 이벤트
  • 예매자 리뷰 남기기 이벤트

BE

  • 예약 취소 처리 PUT: /api/reservationInfos?reservId={reservationId}"

상세페이지: 한줄평 task

"* [x] 한줄 평 상단 x개 로딩

  • 평점, x건 등록
  • 한줄 평 없을 시 "예매자 한줄평 더보기" 버튼 제거

한줄평 페이지 구현

  • 전체 한줄평 로딩"

프로젝트 코드 리팩토링

날짜 데이터

  • BE에서는 날짜 관련 데이터를 포맷팅하지 않고 보내주고 FE에서 포맷팅

FE

  • utils? elementUtils, ajaxUtils 등으로 세분화 고민해보기. 현재 element의 class 추가/삭제 용도로 사용중인데 적절한지 고민해보기
  • prototype 방식 적용

BE

  • mapper naming convention 대문자? 소문자?

한줄 평

  • reservationComment에서 score double형으로 변경. 템플릿에서 소수점 한자리까지만 보여주는 방법 찾기"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.