Skip to content

Commit

Permalink
[Feat] 당첨 내역 반환하는 api 구현 (#182)
Browse files Browse the repository at this point in the history
* infra: 빌드 테스트 yml 작성

* infra: DB 정보 추가

* infra: ssh-agent 버전 변경

* infra: known_hosts 추가

* infra: db port 변경

* infra: database test 설정 변경

* infra: DB 환경변수 설정 및 application.yml 생성

* infra: application.yml 동적 생성 스크립트 수정

* infra: 레디스 설정 추가

* infra: redis test 추가

* infra: redis 버전 변경

* infra: redis cli 설치

* infra: application.yml 위치 및 내용 확인

* infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가

* infra: 환경변수 확인 추가

* feat: draw_rank column 이름 수정

* infra: pull_request시 Github Actions 동작하도록 수정

* cicd test (#54)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

* cicd test (#58)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* chore: ci/cd를 위한 커밋

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat] 성공, 실패 상태 코드 수정하기 (#65)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: cors 도메인 설정

* refactor: 커스텀 코드 형식 수정 및 에러코드 수정

- '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리
- 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경

* refactor: 하나의 성공 코드로 관리하도록 변경

* rebase: 원본 develop 브랜치와 rebase

* rebase: 원본 develop 브랜치 rebase

* feat: cors 설정에 localhost 추가

* refactor: 함수명 변경

* refactor: 예외 코드 변경

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat]Admin Api 구현 (#67)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* feat: Admin entity 클래스 생성

* feat: Admin exception 클래스 생성

* feat: Admin 로그인 컨트롤러 구현

* feat: Admin 로그인 요청 dto 구현

* feat: Admin 로그인 서비스 클래스 구현

* feat: Admin repository 구현

* feat: 추첨 이벤트 시간 설정 요청 dto 구현

* feat: 추첨 시간 검증 클래스 구현

* feat: 추첨 당첨자 응답 dto 구현

* feat: 추첨 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 응답 dto 구현

* feat: 이벤트 페이지 컨트롤러 구현

* feat: 이벤트 페이지 service 클래스 구현

* feat: 선착순 날짜 검증 클래스 구현

* feat: 선착순 날짜 등록 요청 dto 구현

* feat: 선착순 시간 검증 클래스 구현

* feat: 선착순 당첨자 응답 dto 구현

* feat: 선착순 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 컨트롤러 클래스 구현

* feat: 이벤트 지표 service 클래스 구현

* feat: 메인 페이지 관련 컨트롤러 클래스 구현

* feat: 메인 페이지 응답 dto 구현

* feat: 메인 페이지 service 클래스 구현

* feat: password encoder 구현

* feat: 확률값을 %형태로 바꿔주는 serializer 구현

* feat: 전화번호에 '-'를 붙여주는 serializer 구현

* feat: 추첨 시간 검증 애노테이션 구현

* feat: 선착순 날짜 검증 애노테이션 구현

* feat: 선착순 시간 검증 애노테이션 구현

* feat: 당첨 관리 페이지 컨트롤러 클래스 구현

* feat: 당첨 관리 페이지 service 클래스 구현

* config: Bcrypt 의존성 설정

* refactor: winningDate 변수의 자료형 변경

* feat: Draw, User를 조회하는 메서드 구현

* refactor: 변수명 변경

* feat: Transactional 애노테이션 추가

* refactor: 자료형 변경 및 시간 관련 변수 분리

* refactor: 자료형 변경

* feat: eventDate 변수 추가

* feat: EventParticipation 조회 메서드 구현

* feat: round값으로 Fcfs 조회하는 메서드 구현

* feat: @setter 애노테이션 추가

* docs: TODO 추가

* refactor: 클래스명 변경

* refactor: 패키지 변경

* refactor: 패키지 변경

* refactor: 클래스명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 변경

* refactor: Refresh Token을 삭제하는 메서드 구현

* refactor: 커스텀 코드값 변경

* refactor: 검증 관련 상수 추가

* style: 코드 형식 맞추기

---------

Co-authored-by: hyeokson <[email protected]>

* infra: 레디스 설정 추가

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

* [Refactor] 공유 url 조회하는 api 수정 (#70)

* infra: 빌드 테스트 yml 작성

* infra: DB 정보 추가

* infra: ssh-agent 버전 변경

* infra: known_hosts 추가

* infra: db port 변경

* infra: database test 설정 변경

* infra: DB 환경변수 설정 및 application.yml 생성

* infra: application.yml 동적 생성 스크립트 수정

* infra: 레디스 설정 추가

* infra: redis test 추가

* infra: redis 버전 변경

* infra: redis cli 설치

* infra: application.yml 위치 및 내용 확인

* infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가

* infra: 환경변수 확인 추가

* feat: draw_rank column 이름 수정

* infra: pull_request시 Github Actions 동작하도록 수정

* cicd test (#54)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

* cicd test (#58)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* chore: ci/cd를 위한 커밋

---------

Co-authored-by: hyeokson <[email protected]>

* refactor: 공유 url 조회하는 레포지토리 변경

- ShareInfoRepository -> ShareUrlInfoRepository

* refactor: 잘못 작성된 메서드 삭제

- findSharedUrlByUserId 삭제

* refactor: 사용되지 않는 shareInfoRepository 삭제

* refactor: 변수명 변경

- sharedUrl -> shareUrl

* [Feat] 성공, 실패 상태 코드 수정하기 (#65)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: cors 도메인 설정

* refactor: 커스텀 코드 형식 수정 및 에러코드 수정

- '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리
- 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경

* refactor: 하나의 성공 코드로 관리하도록 변경

* rebase: 원본 develop 브랜치와 rebase

* rebase: 원본 develop 브랜치 rebase

* feat: cors 설정에 localhost 추가

* refactor: 함수명 변경

* refactor: 예외 코드 변경

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat]Admin Api 구현 (#67)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* feat: Admin entity 클래스 생성

* feat: Admin exception 클래스 생성

* feat: Admin 로그인 컨트롤러 구현

* feat: Admin 로그인 요청 dto 구현

* feat: Admin 로그인 서비스 클래스 구현

* feat: Admin repository 구현

* feat: 추첨 이벤트 시간 설정 요청 dto 구현

* feat: 추첨 시간 검증 클래스 구현

* feat: 추첨 당첨자 응답 dto 구현

* feat: 추첨 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 응답 dto 구현

* feat: 이벤트 페이지 컨트롤러 구현

* feat: 이벤트 페이지 service 클래스 구현

* feat: 선착순 날짜 검증 클래스 구현

* feat: 선착순 날짜 등록 요청 dto 구현

* feat: 선착순 시간 검증 클래스 구현

* feat: 선착순 당첨자 응답 dto 구현

* feat: 선착순 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 컨트롤러 클래스 구현

* feat: 이벤트 지표 service 클래스 구현

* feat: 메인 페이지 관련 컨트롤러 클래스 구현

* feat: 메인 페이지 응답 dto 구현

* feat: 메인 페이지 service 클래스 구현

* feat: password encoder 구현

* feat: 확률값을 %형태로 바꿔주는 serializer 구현

* feat: 전화번호에 '-'를 붙여주는 serializer 구현

* feat: 추첨 시간 검증 애노테이션 구현

* feat: 선착순 날짜 검증 애노테이션 구현

* feat: 선착순 시간 검증 애노테이션 구현

* feat: 당첨 관리 페이지 컨트롤러 클래스 구현

* feat: 당첨 관리 페이지 service 클래스 구현

* config: Bcrypt 의존성 설정

* refactor: winningDate 변수의 자료형 변경

* feat: Draw, User를 조회하는 메서드 구현

* refactor: 변수명 변경

* feat: Transactional 애노테이션 추가

* refactor: 자료형 변경 및 시간 관련 변수 분리

* refactor: 자료형 변경

* feat: eventDate 변수 추가

* feat: EventParticipation 조회 메서드 구현

* feat: round값으로 Fcfs 조회하는 메서드 구현

* feat: @setter 애노테이션 추가

* docs: TODO 추가

* refactor: 클래스명 변경

* refactor: 패키지 변경

* refactor: 패키지 변경

* refactor: 클래스명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 변경

* refactor: Refresh Token을 삭제하는 메서드 구현

* refactor: 커스텀 코드값 변경

* refactor: 검증 관련 상수 추가

* style: 코드 형식 맞추기

---------

Co-authored-by: hyeokson <[email protected]>

* infra: 레디스 설정 추가

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

---------

Co-authored-by: Son Chanhyeok <[email protected]>
Co-authored-by: hyeokson <[email protected]>

* [Refactor] 공유 url 조회하는 api 수정 (#70)

* infra: 빌드 테스트 yml 작성

* infra: DB 정보 추가

* infra: ssh-agent 버전 변경

* infra: known_hosts 추가

* infra: db port 변경

* infra: database test 설정 변경

* infra: DB 환경변수 설정 및 application.yml 생성

* infra: application.yml 동적 생성 스크립트 수정

* infra: 레디스 설정 추가

* infra: redis test 추가

* infra: redis 버전 변경

* infra: redis cli 설치

* infra: application.yml 위치 및 내용 확인

* infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가

* infra: 환경변수 확인 추가

* feat: draw_rank column 이름 수정

* infra: pull_request시 Github Actions 동작하도록 수정

* cicd test (#54)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

* cicd test (#58)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* chore: ci/cd를 위한 커밋

---------

Co-authored-by: hyeokson <[email protected]>

* refactor: 공유 url 조회하는 레포지토리 변경

- ShareInfoRepository -> ShareUrlInfoRepository

* refactor: 잘못 작성된 메서드 삭제

- findSharedUrlByUserId 삭제

* refactor: 사용되지 않는 shareInfoRepository 삭제

* refactor: 변수명 변경

- sharedUrl -> shareUrl

* [Feat] 성공, 실패 상태 코드 수정하기 (#65)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: cors 도메인 설정

* refactor: 커스텀 코드 형식 수정 및 에러코드 수정

- '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리
- 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경

* refactor: 하나의 성공 코드로 관리하도록 변경

* rebase: 원본 develop 브랜치와 rebase

* rebase: 원본 develop 브랜치 rebase

* feat: cors 설정에 localhost 추가

* refactor: 함수명 변경

* refactor: 예외 코드 변경

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat]Admin Api 구현 (#67)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* feat: Admin entity 클래스 생성

* feat: Admin exception 클래스 생성

* feat: Admin 로그인 컨트롤러 구현

* feat: Admin 로그인 요청 dto 구현

* feat: Admin 로그인 서비스 클래스 구현

* feat: Admin repository 구현

* feat: 추첨 이벤트 시간 설정 요청 dto 구현

* feat: 추첨 시간 검증 클래스 구현

* feat: 추첨 당첨자 응답 dto 구현

* feat: 추첨 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 응답 dto 구현

* feat: 이벤트 페이지 컨트롤러 구현

* feat: 이벤트 페이지 service 클래스 구현

* feat: 선착순 날짜 검증 클래스 구현

* feat: 선착순 날짜 등록 요청 dto 구현

* feat: 선착순 시간 검증 클래스 구현

* feat: 선착순 당첨자 응답 dto 구현

* feat: 선착순 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 컨트롤러 클래스 구현

* feat: 이벤트 지표 service 클래스 구현

* feat: 메인 페이지 관련 컨트롤러 클래스 구현

* feat: 메인 페이지 응답 dto 구현

* feat: 메인 페이지 service 클래스 구현

* feat: password encoder 구현

* feat: 확률값을 %형태로 바꿔주는 serializer 구현

* feat: 전화번호에 '-'를 붙여주는 serializer 구현

* feat: 추첨 시간 검증 애노테이션 구현

* feat: 선착순 날짜 검증 애노테이션 구현

* feat: 선착순 시간 검증 애노테이션 구현

* feat: 당첨 관리 페이지 컨트롤러 클래스 구현

* feat: 당첨 관리 페이지 service 클래스 구현

* config: Bcrypt 의존성 설정

* refactor: winningDate 변수의 자료형 변경

* feat: Draw, User를 조회하는 메서드 구현

* refactor: 변수명 변경

* feat: Transactional 애노테이션 추가

* refactor: 자료형 변경 및 시간 관련 변수 분리

* refactor: 자료형 변경

* feat: eventDate 변수 추가

* feat: EventParticipation 조회 메서드 구현

* feat: round값으로 Fcfs 조회하는 메서드 구현

* feat: @setter 애노테이션 추가

* docs: TODO 추가

* refactor: 클래스명 변경

* refactor: 패키지 변경

* refactor: 패키지 변경

* refactor: 클래스명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 변경

* refactor: Refresh Token을 삭제하는 메서드 구현

* refactor: 커스텀 코드값 변경

* refactor: 검증 관련 상수 추가

* style: 코드 형식 맞추기

---------

Co-authored-by: hyeokson <[email protected]>

* infra: 레디스 설정 추가

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

---------

Co-authored-by: Son Chanhyeok <[email protected]>
Co-authored-by: hyeokson <[email protected]>

* [Feature] static �text를 관리하는 enum 구현 (#71)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* refactor: transactional 어노테이션 수정

* refactor: 변수명 변경

* feat: MainPage 컨트롤러 클래스 생성

* feat: MainPage service 클래스 생성

* feat: StaticResources entity 클래스 생성

* feat: StaticResources repository 클래스 생성

* feat: StaticResourcesUtil 클래스 생성

* feat: 정적 text를 관리하는 enum 생성

* refactor: 변수명 변경

* refactor: 검증 애노테이션 추가

* refactor: DayOfWeek 속성 변경

* refactor: 예외 msg를 응답객체 result에 넣도록 변경

* refactor: 변수명 변경

* refactor: DayOfWeek 속성 변경

* refactor: 검증 애노테이션 추가

* refactor: 검증 상수 추가

* refactor: 변수 타입을 래퍼타입으로 변경

* refactor: 클래스명 변경

---------

Co-authored-by: hyeokson <[email protected]>

* �[Refactor] MainPageController 클래스명 변경 (#72)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* refactor: transactional 어노테이션 수정

* refactor: 변수명 변경

* feat: MainPage 컨트롤러 클래스 생성

* feat: MainPage service 클래스 생성

* feat: StaticResources entity 클래스 생성

* feat: StaticResources repository 클래스 생성

* feat: StaticResourcesUtil 클래스 생성

* feat: 정적 text를 관리하는 enum 생성

* refactor: 변수명 변경

* refactor: 검증 애노테이션 추가

* refactor: DayOfWeek 속성 변경

* refactor: 예외 msg를 응답객체 result에 넣도록 변경

* refactor: 변수명 변경

* refactor: DayOfWeek 속성 변경

* refactor: 검증 애노테이션 추가

* refactor: 검증 상수 추가

* refactor: 변수 타입을 래퍼타입으로 변경

* refactor: 클래스명 변경

* refactor: 클래스명 및 변수명 변경

* feat: final 객체 초기화

---------

Co-authored-by: hyeokson <[email protected]>

* [Feature] 메인 페이지 GET API 구현하기 (#73)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* refactor: transactional 어노테이션 수정

* refactor: 변수명 변경

* feat: MainPage 컨트롤러 클래스 생성

* feat: MainPage service 클래스 생성

* feat: StaticResources entity 클래스 생성

* feat: StaticResources repository 클래스 생성

* feat: StaticResourcesUtil 클래스 생성

* feat: 정적 text를 관리하는 enum 생성

* refactor: 변수명 변경

* refactor: 검증 애노테이션 추가

* refactor: DayOfWeek 속성 변경

* refactor: 예외 msg를 응답객체 result에 넣도록 변경

* refactor: 변수명 변경

* refactor: DayOfWeek 속성 변경

* refactor: 검증 애노테이션 추가

* refactor: 검증 상수 추가

* refactor: 변수 타입을 래퍼타입으로 변경

* refactor: 클래스명 변경

* refactor: 클래스명 및 변수명 변경

* feat: final 객체 초기화

* feat: 메인페이지 자동차 정적 정보 응답 dto 구현

* feat: 메인페이지 이벤트 정적 정보 응답 dto 구현

* refactor: 클래스 및 변수명 변경

* refactor: 클래스명 변경

* refactor: 클래스명 변경

* refactor: round 변수 삭제

* feat: 인증검사를 하지 않는 url 추가

* feat: 메인 페이지 컨트롤러 구현

* feat: 메인 페이지 service 클래스 구현

* feat: 정적자원util 클래스 초기화 메서드 구현

* refactor: enum 변수명 수정

* refactor: Fcfs 당첨자 수 수정 로직 변경

---------

Co-authored-by: hyeokson <[email protected]>

* [Feature] 어드민 회원가입 기능 구현 (#75)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* feat: 어드민 회원가입 요청 dto 구현

* feat: swagger controller 구현

* feat: 어드민 회원가입 controller 메서드 구현

* feat: 어드민 로그인 요청 dto 수정

* feat: 어드민 회원가입 기능 구현

* feat: 메서드 추가

- 특정 account에 대한 데이터가 admin 저장소에 있는지 확인하는 메서드 구현

* feat: swagger, admin url 추가

* feat: swagger 서버 주소 변경

* feat: cors 설정

---------

Co-authored-by: hyeokson <[email protected]>

* [Feature] 특정 url에 대해 인가 검사 하지 않도록 구현 (#76)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* feat: 어드민 회원가입 요청 dto 구현

* feat: swagger controller 구현

* feat: 어드민 회원가입 controller 메서드 구현

* feat: 어드민 로그인 요청 dto 수정

* feat: 어드민 회원가입 기능 구현

* feat: 메서드 추가

- 특정 account에 대한 데이터가 admin 저장소에 있는지 확인하는 메서드 구현

* feat: swagger, admin url 추가

* feat: swagger 서버 주소 변경

* feat: cors 설정

* feat: 특정 url에 대해서 인가 검사 하지 않도록 구현

---------

Co-authored-by: hyeokson <[email protected]>

* [Refactor] 공유 url 조회하는 api 수정 (#70)

* infra: 빌드 테스트 yml 작성

* infra: DB 정보 추가

* infra: ssh-agent 버전 변경

* infra: known_hosts 추가

* infra: db port 변경

* infra: database test 설정 변경

* infra: DB 환경변수 설정 및 application.yml 생성

* infra: application.yml 동적 생성 스크립트 수정

* infra: 레디스 설정 추가

* infra: redis test 추가

* infra: redis 버전 변경

* infra: redis cli 설치

* infra: application.yml 위치 및 내용 확인

* infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가

* infra: 환경변수 확인 추가

* feat: draw_rank column 이름 수정

* infra: pull_request시 Github Actions 동작하도록 수정

* cicd test (#54)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

* cicd test (#58)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* chore: ci/cd를 위한 커밋

---------

Co-authored-by: hyeokson <[email protected]>

* refactor: 공유 url 조회하는 레포지토리 변경

- ShareInfoRepository -> ShareUrlInfoRepository

* refactor: 잘못 작성된 메서드 삭제

- findSharedUrlByUserId 삭제

* refactor: 사용되지 않는 shareInfoRepository 삭제

* refactor: 변수명 변경

- sharedUrl -> shareUrl

* [Feat] 성공, 실패 상태 코드 수정하기 (#65)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: cors 도메인 설정

* refactor: 커스텀 코드 형식 수정 및 에러코드 수정

- '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리
- 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경

* refactor: 하나의 성공 코드로 관리하도록 변경

* rebase: 원본 develop 브랜치와 rebase

* rebase: 원본 develop 브랜치 rebase

* feat: cors 설정에 localhost 추가

* refactor: 함수명 변경

* refactor: 예외 코드 변경

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat]Admin Api 구현 (#67)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* feat: Admin entity 클래스 생성

* feat: Admin exception 클래스 생성

* feat: Admin 로그인 컨트롤러 구현

* feat: Admin 로그인 요청 dto 구현

* feat: Admin 로그인 서비스 클래스 구현

* feat: Admin repository 구현

* feat: 추첨 이벤트 시간 설정 요청 dto 구현

* feat: 추첨 시간 검증 클래스 구현

* feat: 추첨 당첨자 응답 dto 구현

* feat: 추첨 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 응답 dto 구현

* feat: 이벤트 페이지 컨트롤러 구현

* feat: 이벤트 페이지 service 클래스 구현

* feat: 선착순 날짜 검증 클래스 구현

* feat: 선착순 날짜 등록 요청 dto 구현

* feat: 선착순 시간 검증 클래스 구현

* feat: 선착순 당첨자 응답 dto 구현

* feat: 선착순 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 컨트롤러 클래스 구현

* feat: 이벤트 지표 service 클래스 구현

* feat: 메인 페이지 관련 컨트롤러 클래스 구현

* feat: 메인 페이지 응답 dto 구현

* feat: 메인 페이지 service 클래스 구현

* feat: password encoder 구현

* feat: 확률값을 %형태로 바꿔주는 serializer 구현

* feat: 전화번호에 '-'를 붙여주는 serializer 구현

* feat: 추첨 시간 검증 애노테이션 구현

* feat: 선착순 날짜 검증 애노테이션 구현

* feat: 선착순 시간 검증 애노테이션 구현

* feat: 당첨 관리 페이지 컨트롤러 클래스 구현

* feat: 당첨 관리 페이지 service 클래스 구현

* config: Bcrypt 의존성 설정

* refactor: winningDate 변수의 자료형 변경

* feat: Draw, User를 조회하는 메서드 구현

* refactor: 변수명 변경

* feat: Transactional 애노테이션 추가

* refactor: 자료형 변경 및 시간 관련 변수 분리

* refactor: 자료형 변경

* feat: eventDate 변수 추가

* feat: EventParticipation 조회 메서드 구현

* feat: round값으로 Fcfs 조회하는 메서드 구현

* feat: @setter 애노테이션 추가

* docs: TODO 추가

* refactor: 클래스명 변경

* refactor: 패키지 변경

* refactor: 패키지 변경

* refactor: 클래스명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 변경

* refactor: Refresh Token을 삭제하는 메서드 구현

* refactor: 커스텀 코드값 변경

* refactor: 검증 관련 상수 추가

* style: 코드 형식 맞추기

---------

Co-authored-by: hyeokson <[email protected]>

* infra: 레디스 설정 추가

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

---------

Co-authored-by: Son Chanhyeok <[email protected]>
Co-authored-by: hyeokson <[email protected]>

* [Refactor] 사용자 생성 시 추첨 참여 정보, 공유 링크 정보, 공유 정보 생성 (#78)

* infra: 빌드 테스트 yml 작성

* infra: DB 정보 추가

* infra: ssh-agent 버전 변경

* infra: known_hosts 추가

* infra: db port 변경

* infra: database test 설정 변경

* infra: DB 환경변수 설정 및 application.yml 생성

* infra: application.yml 동적 생성 스크립트 수정

* infra: 레디스 설정 추가

* infra: redis test 추가

* infra: redis 버전 변경

* infra: redis cli 설치

* infra: application.yml 위치 및 내용 확인

* infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가

* infra: 환경변수 확인 추가

* feat: draw_rank column 이름 수정

* infra: pull_request시 Github Actions 동작하도록 수정

* cicd test (#54)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

* cicd test (#58)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* chore: ci/cd를 위한 커밋

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat] 성공, 실패 상태 코드 수정하기 (#65)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: cors 도메인 설정

* refactor: 커스텀 코드 형식 수정 및 에러코드 수정

- '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리
- 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경

* refactor: 하나의 성공 코드로 관리하도록 변경

* rebase: 원본 develop 브랜치와 rebase

* rebase: 원본 develop 브랜치 rebase

* feat: cors 설정에 localhost 추가

* refactor: 함수명 변경

* refactor: 예외 코드 변경

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat]Admin Api 구현 (#67)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* feat: Admin entity 클래스 생성

* feat: Admin exception 클래스 생성

* feat: Admin 로그인 컨트롤러 구현

* feat: Admin 로그인 요청 dto 구현

* feat: Admin 로그인 서비스 클래스 구현

* feat: Admin repository 구현

* feat: 추첨 이벤트 시간 설정 요청 dto 구현

* feat: 추첨 시간 검증 클래스 구현

* feat: 추첨 당첨자 응답 dto 구현

* feat: 추첨 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 응답 dto 구현

* feat: 이벤트 페이지 컨트롤러 구현

* feat: 이벤트 페이지 service 클래스 구현

* feat: 선착순 날짜 검증 클래스 구현

* feat: 선착순 날짜 등록 요청 dto 구현

* feat: 선착순 시간 검증 클래스 구현

* feat: 선착순 당첨자 응답 dto 구현

* feat: 선착순 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 컨트롤러 클래스 구현

* feat: 이벤트 지표 service 클래스 구현

* feat: 메인 페이지 관련 컨트롤러 클래스 구현

* feat: 메인 페이지 응답 dto 구현

* feat: 메인 페이지 service 클래스 구현

* feat: password encoder 구현

* feat: 확률값을 %형태로 바꿔주는 serializer 구현

* feat: 전화번호에 '-'를 붙여주는 serializer 구현

* feat: 추첨 시간 검증 애노테이션 구현

* feat: 선착순 날짜 검증 애노테이션 구현

* feat: 선착순 시간 검증 애노테이션 구현

* feat: 당첨 관리 페이지 컨트롤러 클래스 구현

* feat: 당첨 관리 페이지 service 클래스 구현

* config: Bcrypt 의존성 설정

* refactor: winningDate 변수의 자료형 변경

* feat: Draw, User를 조회하는 메서드 구현

* refactor: 변수명 변경

* feat: Transactional 애노테이션 추가

* refactor: 자료형 변경 및 시간 관련 변수 분리

* refactor: 자료형 변경

* feat: eventDate 변수 추가

* feat: EventParticipation 조회 메서드 구현

* feat: round값으로 Fcfs 조회하는 메서드 구현

* feat: @setter 애노테이션 추가

* docs: TODO 추가

* refactor: 클래스명 변경

* refactor: 패키지 변경

* refactor: 패키지 변경

* refactor: 클래스명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 변경

* refactor: Refresh Token을 삭제하는 메서드 구현

* refactor: 커스텀 코드값 변경

* refactor: 검증 관련 상수 추가

* style: 코드 형식 맞추기

---------

Co-authored-by: hyeokson <[email protected]>

* infra: 레디스 설정 추가

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

* [Refactor] 공유 url 조회하는 api 수정 (#70)

* infra: 빌드 테스트 yml 작성

* infra: DB 정보 추가

* infra: ssh-agent 버전 변경

* infra: known_hosts 추가

* infra: db port 변경

* infra: database test 설정 변경

* infra: DB 환경변수 설정 및 application.yml 생성

* infra: application.yml 동적 생성 스크립트 수정

* infra: 레디스 설정 추가

* infra: redis test 추가

* infra: redis 버전 변경

* infra: redis cli 설치

* infra: application.yml 위치 및 내용 확인

* infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가

* infra: 환경변수 확인 추가

* feat: draw_rank column 이름 수정

* infra: pull_request시 Github Actions 동작하도록 수정

* cicd test (#54)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

* cicd test (#58)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* chore: ci/cd를 위한 커밋

---------

Co-authored-by: hyeokson <[email protected]>

* refactor: 공유 url 조회하는 레포지토리 변경

- ShareInfoRepository -> ShareUrlInfoRepository

* refactor: 잘못 작성된 메서드 삭제

- findSharedUrlByUserId 삭제

* refactor: 사용되지 않는 shareInfoRepository 삭제

* refactor: 변수명 변경

- sharedUrl -> shareUrl

* [Feat] 성공, 실패 상태 코드 수정하기 (#65)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: cors 도메인 설정

* refactor: 커스텀 코드 형식 수정 및 에러코드 수정

- '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리
- 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경

* refactor: 하나의 성공 코드로 관리하도록 변경

* rebase: 원본 develop 브랜치와 rebase

* rebase: 원본 develop 브랜치 rebase

* feat: cors 설정에 localhost 추가

* refactor: 함수명 변경

* refactor: 예외 코드 변경

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat]Admin Api 구현 (#67)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* feat: Admin entity 클래스 생성

* feat: Admin exception 클래스 생성

* feat: Admin 로그인 컨트롤러 구현

* feat: Admin 로그인 요청 dto 구현

* feat: Admin 로그인 서비스 클래스 구현

* feat: Admin repository 구현

* feat: 추첨 이벤트 시간 설정 요청 dto 구현

* feat: 추첨 시간 검증 클래스 구현

* feat: 추첨 당첨자 응답 dto 구현

* feat: 추첨 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 응답 dto 구현

* feat: 이벤트 페이지 컨트롤러 구현

* feat: 이벤트 페이지 service 클래스 구현

* feat: 선착순 날짜 검증 클래스 구현

* feat: 선착순 날짜 등록 요청 dto 구현

* feat: 선착순 시간 검증 클래스 구현

* feat: 선착순 당첨자 응답 dto 구현

* feat: 선착순 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 컨트롤러 클래스 구현

* feat: 이벤트 지표 service 클래스 구현

* feat: 메인 페이지 관련 컨트롤러 클래스 구현

* feat: 메인 페이지 응답 dto 구현

* feat: 메인 페이지 service 클래스 구현

* feat: password encoder 구현

* feat: 확률값을 %형태로 바꿔주는 serializer 구현

* feat: 전화번호에 '-'를 붙여주는 serializer 구현

* feat: 추첨 시간 검증 애노테이션 구현

* feat: 선착순 날짜 검증 애노테이션 구현

* feat: 선착순 시간 검증 애노테이션 구현

* feat: 당첨 관리 페이지 컨트롤러 클래스 구현

* feat: 당첨 관리 페이지 service 클래스 구현

* config: Bcrypt 의존성 설정

* refactor: winningDate 변수의 자료형 변경

* feat: Draw, User를 조회하는 메서드 구현

* refactor: 변수명 변경

* feat: Transactional 애노테이션 추가

* refactor: 자료형 변경 및 시간 관련 변수 분리

* refactor: 자료형 변경

* feat: eventDate 변수 추가

* feat: EventParticipation 조회 메서드 구현

* feat: round값으로 Fcfs 조회하는 메서드 구현

* feat: @setter 애노테이션 추가

* docs: TODO 추가

* refactor: 클래스명 변경

* refactor: 패키지 변경

* refactor: 패키지 변경

* refactor: 클래스명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 변경

* refactor: Refresh Token을 삭제하는 메서드 구현

* refactor: 커스텀 코드값 변경

* refactor: 검증 관련 상수 추가

* style: 코드 형식 맞추기

---------

Co-authored-by: hyeokson <[email protected]>

* infra: 레디스 설정 추가

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

---------

Co-authored-by: Son Chanhyeok <[email protected]>
Co-authored-by: hyeokson <[email protected]>

* feat: 유저 생성 시 공유 정보 생성하도록 수정

* feat: 유저 생성 시 추첨 이벤트 참여 정보 생성되도록 수정

* refactor: ShareUrlInfo에 빌더 어노테이션 추가

* feat: List형태로 공유 url 가져오는 메서드 추가

* feat: 중복되지 않는 공유 url 생성 후 DB에 저장하는 로직 추가

* refactor: NoArgsConstructor, AllArgsConstructor 추가

* refactor: GeneratedValue 어노테이션 삭제

* refactor: readOnly false로 변경

* [Refactor] 공유 url 조회하는 api 수정 (#70)

* infra: 빌드 테스트 yml 작성

* infra: DB 정보 추가

* infra: ssh-agent 버전 변경

* infra: known_hosts 추가

* infra: db port 변경

* infra: database test 설정 변경

* infra: DB 환경변수 설정 및 application.yml 생성

* infra: application.yml 동적 생성 스크립트 수정

* infra: 레디스 설정 추가

* infra: redis test 추가

* infra: redis 버전 변경

* infra: redis cli 설치

* infra: application.yml 위치 및 내용 확인

* infra: Github Actions 환경변수에 REDIS_HOST, REDIS_PORT 추가

* infra: 환경변수 확인 추가

* feat: draw_rank column 이름 수정

* infra: pull_request시 Github Actions 동작하도록 수정

* cicd test (#54)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

* cicd test (#58)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* chore: ci/cd를 위한 커밋

---------

Co-authored-by: hyeokson <[email protected]>

* refactor: 공유 url 조회하는 레포지토리 변경

- ShareInfoRepository -> ShareUrlInfoRepository

* refactor: 잘못 작성된 메서드 삭제

- findSharedUrlByUserId 삭제

* refactor: 사용되지 않는 shareInfoRepository 삭제

* refactor: 변수명 변경

- sharedUrl -> shareUrl

* [Feat] 성공, 실패 상태 코드 수정하기 (#65)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: cors 도메인 설정

* refactor: 커스텀 코드 형식 수정 및 에러코드 수정

- '(에러를 구분하는 알파벳)3자리 숫자' 형태로 커스텀 에러 코드 관리
- 클라이언트에서 에러 코드에 의해 분기되지 않으면 하나의 에러로 관리하도록 변경

* refactor: 하나의 성공 코드로 관리하도록 변경

* rebase: 원본 develop 브랜치와 rebase

* rebase: 원본 develop 브랜치 rebase

* feat: cors 설정에 localhost 추가

* refactor: 함수명 변경

* refactor: 예외 코드 변경

---------

Co-authored-by: hyeokson <[email protected]>

* [Feat]Admin Api 구현 (#67)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* feat: Admin entity 클래스 생성

* feat: Admin exception 클래스 생성

* feat: Admin 로그인 컨트롤러 구현

* feat: Admin 로그인 요청 dto 구현

* feat: Admin 로그인 서비스 클래스 구현

* feat: Admin repository 구현

* feat: 추첨 이벤트 시간 설정 요청 dto 구현

* feat: 추첨 시간 검증 클래스 구현

* feat: 추첨 당첨자 응답 dto 구현

* feat: 추첨 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 응답 dto 구현

* feat: 이벤트 페이지 컨트롤러 구현

* feat: 이벤트 페이지 service 클래스 구현

* feat: 선착순 날짜 검증 클래스 구현

* feat: 선착순 날짜 등록 요청 dto 구현

* feat: 선착순 시간 검증 클래스 구현

* feat: 선착순 당첨자 응답 dto 구현

* feat: 선착순 당첨자 수 수정 요청 dto 구현

* feat: 이벤트 지표 컨트롤러 클래스 구현

* feat: 이벤트 지표 service 클래스 구현

* feat: 메인 페이지 관련 컨트롤러 클래스 구현

* feat: 메인 페이지 응답 dto 구현

* feat: 메인 페이지 service 클래스 구현

* feat: password encoder 구현

* feat: 확률값을 %형태로 바꿔주는 serializer 구현

* feat: 전화번호에 '-'를 붙여주는 serializer 구현

* feat: 추첨 시간 검증 애노테이션 구현

* feat: 선착순 날짜 검증 애노테이션 구현

* feat: 선착순 시간 검증 애노테이션 구현

* feat: 당첨 관리 페이지 컨트롤러 클래스 구현

* feat: 당첨 관리 페이지 service 클래스 구현

* config: Bcrypt 의존성 설정

* refactor: winningDate 변수의 자료형 변경

* feat: Draw, User를 조회하는 메서드 구현

* refactor: 변수명 변경

* feat: Transactional 애노테이션 추가

* refactor: 자료형 변경 및 시간 관련 변수 분리

* refactor: 자료형 변경

* feat: eventDate 변수 추가

* feat: EventParticipation 조회 메서드 구현

* feat: round값으로 Fcfs 조회하는 메서드 구현

* feat: @setter 애노테이션 추가

* docs: TODO 추가

* refactor: 클래스명 변경

* refactor: 패키지 변경

* refactor: 패키지 변경

* refactor: 클래스명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 및 변수명 변경

* refactor: 클래스명 변경

* refactor: Refresh Token을 삭제하는 메서드 구현

* refactor: 커스텀 코드값 변경

* refactor: 검증 관련 상수 추가

* style: 코드 형식 맞추기

---------

Co-authored-by: hyeokson <[email protected]>

* infra: 레디스 설정 추가

* [Feat] 기대평 기능 구현 (#57)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* cicd test (#47)

* config: jwt 속성을 yml에 설정

* config: git cache 초기화

* feat: Jwt 속성 관리 클래스 생성

* feat: 로그인 컨트롤러 클래스 생성

* feat: 로그인 요청 dto 클래스 생성

* feat: 로그인 service 클래스 생성

* feat: 메서드 추가

- 전화번호에 해당하는 유저가 있는지 확인하는 메서드
- 전화번호로 유저 객체를 반환하는 메서드

* feat: 필드 추가 및 전화번호 인덱싱 설정

* feat: 로그인 성공 상태 코드 추가

* feat: 로그인 실패 상태 코드 추가

* style: 엔터한 공간 줄이기

* chore: ci/cd test

---------

Co-authored-by: hyeokson <[email protected]>

* chore: ci/cd test

* chore: ci/cd test

* chore: ci/cd test

* config: gradle 의존성 설정

* refactor: BaseEntity 삭제

* feat: if문 추가

- 인증 및 미인증 유저가 공동으로 사용하는 api를 위해서 인증을 하지 않았다면 예외가 아니라 userId값으로 null을 갖도록 변경

* feat: 댓글 예외 상태 코드 추가

* feat: Comment 엔티티 클래스 생성

* feat: Comment 컨트롤러 생성 및 구현

- 기대평 조회 및 저장 로직 구현

* feat: Comment 예외 클래스 생성

* feat: 기대평 닉네임을 관리하는 Enum 클래스 생성

* feat: Comment repository 생성 및 구현

* feat: Comment service 생성 및 구현

- SCROLL_SIZE 만큼의 기대평을 반환하는 메서드 구현
- 기대평을 저장하는 메서드 구현

* feat: Comment 조회 응답 클래스 생성

* feat: 기대평을 관리하는 Enum 클래스 생성

* feat: 컨버터 클래스 생성

- 기대평 Enum 객체와 comment 값을 서로 변환해주는 컨버터 생성

* feat: Util 클래스 생성

- 커서 기반 스크롤 기능을 사용할 수 있는 Util 클래스 생성

* refactor: jsonformat 패턴 변경

* feat: 기대평 성공 상태 코드 추가

* refactor: enum 값 변경

* refactor: 호출하는 메서드 명 변경

* refactor: 자료형 변경

* refactor: 애노테이션 변경

* refactor: claim의 id값 자료형 변경

* feat: 변수 및 메서드 추가

- Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정 및 기능 구현

* feat: 자동으로 생성 시간 저장하도록 구현

* refactor: 시간값 설정 코드 삭제

---------

Co-authored-by: hyeokson <[email protected]>

---------

Co-authored-by: Son Chanhyeok <[email protected]>
Co-authored-by: hyeokson <[email protected]>

* [Feature] static �text를 관리하는 enum 구현 (#71)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* refactor: transactional 어노테이션 수정

* refactor: 변수명 변경

* feat: MainPage 컨트롤러 클래스 생성

* feat: MainPage service 클래스 생성

* feat: StaticResources entity 클래스 생성

* feat: StaticResources repository 클래스 생성

* feat: StaticResourcesUtil 클래스 생성

* feat: 정적 text를 관리하는 enum 생성

* refactor: 변수명 변경

* refactor: 검증 애노테이션 추가

* refactor: DayOfWeek 속성 변경

* refactor: 예외 msg를 응답객체 result에 넣도록 변경

* refactor: 변수명 변경

* refactor: DayOfWeek 속성 변경

* refactor: 검증 애노테이션 추가

* refactor: 검증 상수 추가

* refactor: 변수 타입을 래퍼타입으로 변경

* refactor: 클래스명 변경

---------

Co-authored-by: hyeokson <[email protected]>

* �[Refactor] MainPageController 클래스명 변경 (#72)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* refactor: transactional 어노테이션 수정

* refactor: 변수명 변경

* feat: MainPage 컨트롤러 클래스 생성

* feat: MainPage service 클래스 생성

* feat: StaticResources entity 클래스 생성

* feat: StaticResources repository 클래스 생성

* feat: StaticResourcesUtil 클래스 생성

* feat: 정적 text를 관리하는 enum 생성

* refactor: 변수명 변경

* refactor: 검증 애노테이션 추가

* refactor: DayOfWeek 속성 변경

* refactor: 예외 msg를 응답객체 result에 넣도록 변경

* refactor: 변수명 변경

* refactor: DayOfWeek 속성 변경

* refactor: 검증 애노테이션 추가

* refactor: 검증 상수 추가

* refactor: 변수 타입을 래퍼타입으로 변경

* refactor: 클래스명 변경

* refactor: 클래스명 및 변수명 변경

* feat: final 객체 초기화

---------

Co-authored-by: hyeokson <[email protected]>

* [Feature] 메인 페이지 GET API 구현하기 (#73)

* config: jwt 속성을 yml에 설정

* rebase: 원본 develop 브랜치와 병합

* refactor: transactional 어노테이션 수정

* refactor: 변수명 변경

* feat: MainPage 컨트롤러 클래스 생성

* feat: MainPage service 클래스 생성

* feat: StaticResources entity 클래스 생성

* feat: StaticResources repository 클래스 생성

* feat: StaticResourcesUtil 클래스 생성

* feat: 정적 text를 관리하는 enum 생성

* refactor: 변수명 변경

* refactor: 검증 애…
  • Loading branch information
3 people authored Aug 21, 2024
1 parent 4a4f5e4 commit fa4722f
Show file tree
Hide file tree
Showing 12 changed files with 226 additions and 242 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto;
import com.softeer.backend.fo_domain.draw.dto.participate.DrawModalResponseDto;
import com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryResponseDto;
import com.softeer.backend.fo_domain.draw.dto.history.DrawHistoryResponseDto;
import com.softeer.backend.fo_domain.draw.service.DrawService;
import com.softeer.backend.global.annotation.AuthInfo;
import com.softeer.backend.global.common.response.ResponseDto;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.softeer.backend.fo_domain.draw.dto.history;

import lombok.Builder;
import lombok.Data;

import java.time.LocalDate;

@Data
@Builder
public class DrawHistoryDto {
private int drawRank;
private String image;
private LocalDate winningDate;
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.softeer.backend.fo_domain.draw.dto.result;
package com.softeer.backend.fo_domain.draw.dto.history;

import lombok.Data;
import lombok.experimental.SuperBuilder;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.softeer.backend.fo_domain.draw.dto.result;
package com.softeer.backend.fo_domain.draw.dto.history;

import lombok.Data;
import lombok.experimental.SuperBuilder;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
package com.softeer.backend.fo_domain.draw.dto.result;
package com.softeer.backend.fo_domain.draw.dto.history;

import com.softeer.backend.fo_domain.draw.dto.modal.WinModal;
import lombok.Data;
import lombok.experimental.SuperBuilder;

import java.util.List;

/**
* 추첨 이벤트 당첨 내역이 있는 경우 응답 DTO 클래스
*/
@Data
@SuperBuilder
public class DrawHistoryWinnerResponseDto extends DrawHistoryResponseDto {
private WinModal winModal;
private List<DrawHistoryDto> historyList;
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,6 @@
public interface DrawRepository extends JpaRepository<Draw, Integer> {
@Query("SELECT d FROM Draw d JOIN FETCH d.user WHERE d.rank = :rank")
List<Draw> findDrawWithUser(@Param("rank") int rank);

List<Draw> findAllByUserIdOrderByWinningDateAsc(Integer userId);
}
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
package com.softeer.backend.fo_domain.draw.service;

import com.softeer.backend.fo_domain.draw.domain.Draw;
import com.softeer.backend.fo_domain.draw.domain.DrawParticipationInfo;
import com.softeer.backend.fo_domain.draw.dto.history.DrawHistoryDto;
import com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto;
import com.softeer.backend.fo_domain.draw.dto.participate.DrawModalResponseDto;
import com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryResponseDto;
import com.softeer.backend.fo_domain.draw.dto.history.DrawHistoryResponseDto;
import com.softeer.backend.fo_domain.draw.exception.DrawException;
import com.softeer.backend.fo_domain.draw.repository.DrawParticipationInfoRepository;
import com.softeer.backend.fo_domain.draw.repository.DrawRepository;
import com.softeer.backend.fo_domain.draw.util.DrawAttendanceCountUtil;
import com.softeer.backend.fo_domain.draw.util.DrawResponseGenerateUtil;
import com.softeer.backend.fo_domain.draw.util.DrawUtil;
Expand All @@ -17,6 +20,10 @@
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;

/**
* 추첨 참여 로직을 처리하기 위한 클래스
*/
Expand All @@ -30,11 +37,12 @@ public class DrawService {
private final DrawResponseGenerateUtil drawResponseGenerateUtil;
private final DrawAttendanceCountUtil drawAttendanceCountUtil;
private final DrawSettingManager drawSettingManager;
private final DrawRepository drawRepository;

/**
* 1. 연속 참여일수 조회
* 1-1. 만약 7일 연속 참여했다면 상품 정보 응답
* 1-2. 만약 7일 미만 참여라면 일반 정보 응답
* 1-1. 만약 7일 연속 참여했다면 상품 정보 응답
* 1-2. 만약 7일 미만 참여라면 일반 정보 응답
*/
public DrawMainResponseDto getDrawMainPageInfo(Integer userId) {
// 참여 정보 (연속참여일수) 조회
Expand Down Expand Up @@ -135,16 +143,41 @@ public DrawModalResponseDto participateDrawEvent(Integer userId) {

/**
* 당첨 내역 조회하는 메서드
* 1. DB 조회
* 2. redis 조회
* 3. 내역을 리스트로 만들어서 반환
* 3-1. 내역이 없다면 내역이 없다는 응답 반환
*
* 1. 당첨자라면 WinModal과 같은 당첨 내역 응답
* 2. 낙첨자라면 LoseModal과 같은 공유 url 응답
* @param userId 사용자 아이디
* @return 당첨 내역에 따른 응답
*/
public DrawHistoryResponseDto getDrawHistory(Integer userId) {
int ranking = drawRedisUtil.getRankingIfWinner(userId);
List<Draw> drawList = drawRepository.findAllByUserIdOrderByWinningDateAsc(userId);
List<DrawHistoryDto> drawHistoryList = new ArrayList<>();

// DB내역을 리스트로 만들기
for (Draw draw : drawList) {
int drawRank = draw.getRank();
drawHistoryList.add(DrawHistoryDto.builder()
.drawRank(drawRank)
.winningDate(draw.getWinningDate())
.image(drawResponseGenerateUtil.getImageUrl(drawRank))
.build());
}

// redis 내역을 리스트로 만들기
if (ranking != 0) {
drawHistoryList.add(DrawHistoryDto.builder()
.drawRank(ranking)
.winningDate(LocalDate.now())
.image(drawResponseGenerateUtil.getImageUrl(ranking))
.build());
}

if (!drawHistoryList.isEmpty()) {
// 당첨자라면
return drawResponseGenerateUtil.generateDrawHistoryWinnerResponse(ranking);
return drawResponseGenerateUtil.generateDrawHistoryWinnerResponse(drawHistoryList);
}

// 당첨자가 아니라면
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,22 @@
package com.softeer.backend.fo_domain.draw.util;

import com.softeer.backend.fo_domain.draw.dto.history.DrawHistoryDto;
import com.softeer.backend.fo_domain.draw.dto.main.DrawMainFullAttendResponseDto;
import com.softeer.backend.fo_domain.draw.dto.main.DrawMainResponseDto;
import com.softeer.backend.fo_domain.draw.dto.participate.DrawLoseModalResponseDto;
import com.softeer.backend.fo_domain.draw.dto.participate.DrawWinModalResponseDto;
import com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryLoserResponseDto;
import com.softeer.backend.fo_domain.draw.dto.result.DrawHistoryWinnerResponseDto;
import com.softeer.backend.fo_domain.draw.dto.history.DrawHistoryLoserResponseDto;
import com.softeer.backend.fo_domain.draw.dto.history.DrawHistoryWinnerResponseDto;
import com.softeer.backend.fo_domain.share.exception.ShareUrlInfoException;
import com.softeer.backend.fo_domain.share.repository.ShareUrlInfoRepository;
import com.softeer.backend.global.common.code.status.ErrorStatus;
import com.softeer.backend.global.staticresources.constant.S3FileName;
import com.softeer.backend.global.staticresources.util.StaticResourceUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;

import java.util.List;

/**
* 추첨 이벤트 결과 응답을 생성하는 클래스
*/
Expand All @@ -24,13 +29,14 @@ public class DrawResponseGenerateUtil {
private final ShareUrlInfoRepository shareUrlInfoRepository;
private final DrawUtil drawUtil;
private final DrawModalGenerateUtil drawModalGenerateUtil;
private final StaticResourceUtil staticResourceUtil;


/**
* 7일 연속 출석 시 상품 정보 모달 만들어서 반환하는 메서드
*
* @param invitedNum 초대한 사람 수
* @param remainDrawCount 남은 추첨 기회
* @param invitedNum 초대한 사람 수
* @param remainDrawCount 남은 추첨 기회
* @param drawAttendanceCount 연속 출석 일수
* @return 7일 연속 출석 상품 모달
*/
Expand All @@ -46,8 +52,8 @@ public DrawMainFullAttendResponseDto generateMainFullAttendResponse(int invitedN
/**
* 7일 미만 출석 시 모달 만들어서 반환하는 메서드
*
* @param invitedNum 초대한 사람 수
* @param remainDrawCount 남은 추첨 기회
* @param invitedNum 초대한 사람 수
* @param remainDrawCount 남은 추첨 기회
* @param drawAttendanceCount 연속 출석 일수
* @return 7일 미만 출석 상품 모달
*/
Expand Down Expand Up @@ -90,13 +96,13 @@ public DrawWinModalResponseDto generateDrawWinnerResponse(int ranking) {
/**
* 당첨내역이 있는 경우 당첨 내역 응답 만들어서 반환
*
* @param ranking 등수
* @param drawHistoryList 당첨 내역 리스트
* @return 당첨 내역 응답
*/
public DrawHistoryWinnerResponseDto generateDrawHistoryWinnerResponse(int ranking) {
public DrawHistoryWinnerResponseDto generateDrawHistoryWinnerResponse(List<DrawHistoryDto> drawHistoryList) {
return DrawHistoryWinnerResponseDto.builder()
.isDrawWin(true)
.winModal(drawModalGenerateUtil.generateWinModal(ranking))
.historyList(drawHistoryList)
.build();
}

Expand All @@ -123,4 +129,17 @@ private String getShareUrl(Integer userId) {
return BASE_URL + shareUrlInfoRepository.findShareUrlByUserId(userId)
.orElseThrow(() -> new ShareUrlInfoException(ErrorStatus._NOT_FOUND));
}

/**
* ranking에 따른 s3 이미지 url 반환
*/
public String getImageUrl(int ranking) {
if (ranking == 1) {
return staticResourceUtil.getS3ContentMap().get(S3FileName.DRAW_REWARD_IMAGE_1.name());
} else if (ranking == 2) {
return staticResourceUtil.getS3ContentMap().get(S3FileName.DRAW_REWARD_IMAGE_2.name());
} else {
return staticResourceUtil.getS3ContentMap().get(S3FileName.DRAW_REWARD_IMAGE_3.name());
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ public class MainPageController {
* 메인 페이지에서 정적 정보를 반환하는 메서드
*/
@GetMapping("/event/static")
public ResponseEntity<ResponseDto<MainPageEventStaticResponseDto>> getEventPageStatic(){
MainPageEventStaticResponseDto mainPageEventStaticResponseDto= mainPageService.getEventPageStatic();
public ResponseEntity<ResponseDto<MainPageEventStaticResponseDto>> getEventPageStatic() {
MainPageEventStaticResponseDto mainPageEventStaticResponseDto = mainPageService.getEventPageStatic();

return ResponseEntity.ok()
.cacheControl(CacheControl.maxAge(1, TimeUnit.DAYS).cachePublic()) // 1일 동안 public 캐싱
Expand All @@ -41,7 +41,7 @@ public ResponseEntity<ResponseDto<MainPageEventStaticResponseDto>> getEventPageS
* 메인 페이지에서 이벤트 정보를 반환하는 메서드
*/
@GetMapping("/event/info")
public ResponseDto<MainPageEventInfoResponseDto> getEventPageInfo(){
public ResponseDto<MainPageEventInfoResponseDto> getEventPageInfo() {

MainPageEventInfoResponseDto mainPageEventInfoResponseDto = mainPageService.getEventPageInfo();

Expand All @@ -52,7 +52,7 @@ public ResponseDto<MainPageEventInfoResponseDto> getEventPageInfo(){
* 메인 페이지에서 자동차 설명 정보를 반환하는 메서드
*/
@GetMapping("/car")
public ResponseEntity<ResponseDto<MainPageCarResponseDto>> getCarPage(){
public ResponseEntity<ResponseDto<MainPageCarResponseDto>> getCarPage() {

MainPageCarResponseDto mainPageCarResponseDto = mainPageService.getCarPage();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public class MainPageEventStaticResponseDto {
@Getter
@AllArgsConstructor
@Builder
public static class EventInfo{
public static class EventInfo {

private String title;

Expand All @@ -32,6 +32,8 @@ public static class EventInfo{

private String rewardImage2;

private String rewardImage3;

}

}
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public class MainPageService {
*/
@Transactional(readOnly = true)
@Cacheable(value = "staticResources", key = "'event'")
public MainPageEventStaticResponseDto getEventPageStatic(){
public MainPageEventStaticResponseDto getEventPageStatic() {

Map<String, String> textContentMap = staticResourceUtil.getTextContentMap();
Map<String, String> s3ContentMap = staticResourceUtil.getS3ContentMap();
Expand All @@ -61,13 +61,15 @@ public MainPageEventStaticResponseDto getEventPageStatic(){
.content(textContentMap.get(StaticTextName.FCFS_CONTENT.name()))
.rewardImage1(s3ContentMap.get(S3FileName.FCFS_REWARD_IMAGE_1.name()))
.rewardImage2(s3ContentMap.get(S3FileName.FCFS_REWARD_IMAGE_2.name()))
.rewardImage3(null)
.build();

MainPageEventStaticResponseDto.EventInfo drawInfo = MainPageEventStaticResponseDto.EventInfo.builder()
.title(textContentMap.get(StaticTextName.DRAW_TITLE.name()))
.content(textContentMap.get(StaticTextName.DRAW_CONTENT.name()))
.rewardImage1(s3ContentMap.get(S3FileName.DRAW_REWARD_IMAGE_1.name()))
.rewardImage2(s3ContentMap.get(S3FileName.DRAW_REWARD_IMAGE_2_3.name()))
.rewardImage2(s3ContentMap.get(S3FileName.DRAW_REWARD_IMAGE_2.name()))
.rewardImage3(s3ContentMap.get(S3FileName.DRAW_REWARD_IMAGE_3.name()))
.build();

return MainPageEventStaticResponseDto.builder()
Expand All @@ -82,7 +84,7 @@ public MainPageEventStaticResponseDto getEventPageStatic(){
* 메인 페이지에서 이벤트 정보를 반환하는 메서드
*/
@Transactional(readOnly = true)
public MainPageEventInfoResponseDto getEventPageInfo(){
public MainPageEventInfoResponseDto getEventPageInfo() {

setTotalVisitorsCount();

Expand All @@ -94,7 +96,7 @@ public MainPageEventInfoResponseDto getEventPageInfo(){
int totalDrawWinner = drawSettingManager.getWinnerNum1()
+ drawSettingManager.getWinnerNum2() + drawSettingManager.getWinnerNum3();

int remainDrawCount = totalDrawWinner - (int)drawRepository.count();
int remainDrawCount = totalDrawWinner - (int) drawRepository.count();

return MainPageEventInfoResponseDto.builder()
.startDate(drawSettingManager.getStartDate().format(eventTimeFormatter))
Expand All @@ -114,7 +116,7 @@ public MainPageEventInfoResponseDto getEventPageInfo(){
}

// 이벤트 기간이면 redis에 사이트 방문자 수 +1 하기
public void setTotalVisitorsCount(){
public void setTotalVisitorsCount() {

LocalDate now = LocalDate.now();

Expand Down
Loading

0 comments on commit fa4722f

Please sign in to comment.