Kim DongHyo 9f70ee0ed9 #3 회원가입 기능 구현 (#15)
* feat: Create Phone validator annotation

* feat: validation annotation 변경 및 @Builder 제거

* refactor: builder 에서 생성자로 변경

* refactor: value null or empty 시 true 반환

* test: user validator 테스트 코드 작성

* refactor: grade @NotNull message 추가

* feat: spring-boot-starter-security 주석해제

* feat: 시큐리티 disable 및 psswordEncoder 빈등록

* feat: 회원가입 Service 메소드 구현

* feat: findByEmail Repository add

* feat: email 중복 시 예외 클래스 생성

* feat: 회원가입 컨트롤러 생성

* test: 회원가입 서비스 테스트 코드 작성

* docs: logs 디렉토리 추가

* refactor: 맨 하단 공백 추가

* refactor: properties message 다국어 적용

* refactor: 재정렬

* fix: @EnableJpaAuditing 중복 선언 제거

* fix: service 구현체와 동일하게 파라미터 수정

* refactor: validateEmail 메소드 병합

* refactor: SignUp 에서 UserEntity 생성하도록 변경

* refactor: message 외부로 분리

* refactor: 중복 이메일일 경우 Exception 대신 Optional 처리

* test: signUp toUser 메소드 테스트

* refactor: Phone 애노테이션 적용 부분 message 제거

* refactor: email error log add

* refactor: PasswordEncoder 를 SignUp 생성 시 적용

서비스에서는 파라미터로 넘어온 SignUp을 바로 엔티티로 저장하는 구조로 변경
2022-05-21 00:43:14 +09:00
2022-04-28 00:13:53 +09:00
2022-05-07 01:25:49 +09:00

🍿 Ticketing

영화 예매 서비스


📆 프로젝트 기간

22.04.13 ~

  • 기획 및 설계 : 22.04.13 ~
  • 프로젝트 구현 :



🎯 프로젝트 목표



🧩 ERD

erDiagram
    MOVIE ||--o{ MOVIE_TIMES : ""
    MOVIE {
        bigint id PK "영화 ID"
        varchar title "영화제목"
        int running_time "러닝타임"
        datetime created_at "등록일시"
        datetime updated_at "수정일시"
    }
    THEATER ||--o{ MOVIE_TIMES : ""
    THEATER ||--|{ SEAT : ""
    THEATER {
        bigint id PK "상영관 ID"
        int theater_number "상영관 번호"
        int seat_count "좌석수"
        datetime created_at "등록일시"
        datetime updated_at "수정일시"
    }
    SEAT ||--o{ TICKET : ""
    SEAT {
        bigint id PK "좌석 ID"
        bigint theater_id FK "상영관 ID"
        int column "열"
        int row "행"
        datetime created_at "등록일시"
        datetime updated_at "수정일시"
    }
    MOVIE_TIMES ||--o{ TICKET : ""
    MOVIE_TIMES {
        bigint id PK "상영시간표 ID"
        bigint movie_id FK "영화 ID"
        bigint theater_id FK "상영관 ID"
        date running_date "상영 날짜"
        int round "회차"
        time start_at "시작 시간"
        time end_at "종료 시간"
        datetime created_at "등록일시"
        datetime updated_at "수정일시"
    }
    TICKET {
        bigint id PK "티켓 ID"
        bigint seat_id FK "좌석 ID"
        bigint movie_times_id FK "상영시간표 ID"
        bigint payment_id FK "결제 ID"
        varchar status "상태 - 구매가능/예약진행중/판매완료"
        int ticket_price "가격"
        datetime created_at "등록일시"
        datetime updated_at "수정일시"
    }
    TICKET }|--|| PAYMENT : ""
    PAYMENT {
        bigint id PK "결제 ID"
        bigint user_id FK "유저ID"
        varchar type "결제 타입 - 예) 네이버페이, 카카오페이"
        varchar status "상태 - 완료/환불/실패"
        varchar failed_message "실패사유 - 컬럼명을 알아보기 쉬운가?"
        varchar payment_number "예매번호"
        int total_price "결제 금액"
        datetime created_at "결제일시"
        datetime updated_at "수정일시"
    }
    USER ||--o{ PAYMENT : ""
    USER {
        bigint id "회원"
        varchar name "이름"
        varchar email "이메일"
        varchar password "비밀번호"
        varchar grade "등급 - 고객/임직원"
        varchar phone "휴대폰 번호"
        boolean is_deleted "탈퇴여부"
        datetime deleted_at "탈퇴일시"
        datetime created_at "가입일시"
        datetime updated_at "수정일시"
    }



Description
영화 예매 서비스
Readme 764 KiB
Languages
Java 98.8%
Kotlin 1.1%