Skip to content

Commit

Permalink
[Feat] 공유 url을 이용해 인증했을 때 공유한 사용자의 추첨 기회 증가하는 로직 구현 (#118)
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:…
  • Loading branch information
3 people authored Aug 15, 2024
1 parent 8f8e0db commit 38bc5eb
Show file tree
Hide file tree
Showing 7 changed files with 52 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,14 @@
import com.softeer.backend.global.annotation.AuthInfo;
import com.softeer.backend.global.common.response.ResponseDto;
import io.swagger.v3.oas.annotations.Parameter;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpSession;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

@RestController
Expand All @@ -18,4 +24,16 @@ public class ShareController {
public ResponseDto<ShareUrlInfoResponseDto> getShortenShareUrl(@Parameter(hidden = true) @AuthInfo Integer userId) {
return shareUrlInfoService.getShortenShareUrl(userId);
}

@GetMapping("/share/{shareUrl}")
public ResponseEntity<Void> redirectWithShareUrl(@PathVariable String shareUrl, HttpServletRequest request) {
// session을 이용해 공유 url 저장
HttpSession session = request.getSession();
session.setAttribute("shareUrl", shareUrl);

// 헤더를 이용해 redirect
HttpHeaders headers = new HttpHeaders();
headers.add("Location", "https://softeer.site");
return new ResponseEntity<>(headers, HttpStatus.FOUND); // HTTP 302 Found 응답
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,17 @@

import com.softeer.backend.fo_domain.share.domain.ShareInfo;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

import java.util.Optional;

@Repository
public interface ShareInfoRepository extends JpaRepository<ShareInfo, Integer> {
Optional<ShareInfo> findShareInfoByUserId(Integer userId);

@Modifying
@Query("UPDATE ShareInfo s SET s.remainDrawCount = s.remainDrawCount + 1 WHERE s.userId = :userId")
void increaseRemainDrawCount(Integer userId);
}
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ public interface ShareUrlInfoRepository extends JpaRepository<ShareUrlInfo, Inte
@Query("SELECT s.shareUrl FROM ShareUrlInfo s WHERE s.userId = :userId")
Optional<String> findShareUrlByUserId(Integer userId);

@Query("SELECT s.userId FROM ShareUrlInfo s WHERE s.shareUrl = :shareUrl")
Optional<Integer> findUserIdByShareUrl(String shareUrl);

@Query("SELECT s.shareUrl FROM ShareUrlInfo s")
List<String> findAllShareUrl();
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.softeer.backend.global.common.dto.JwtTokenResponseDto;
import com.softeer.backend.fo_domain.user.service.LoginService;
import com.softeer.backend.global.common.response.ResponseDto;
import jakarta.servlet.http.HttpSession;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.PostMapping;
Expand All @@ -17,8 +18,8 @@ public class LoginController {
private final LoginService loginService;

@PostMapping("/login")
ResponseDto<JwtTokenResponseDto> handleLogin(@Valid @RequestBody LoginRequestDto loginRequestDto) {
JwtTokenResponseDto jwtTokenResponseDto = loginService.handleLogin(loginRequestDto);
ResponseDto<JwtTokenResponseDto> handleLogin(@Valid @RequestBody LoginRequestDto loginRequestDto, HttpSession session) {
JwtTokenResponseDto jwtTokenResponseDto = loginService.handleLogin(loginRequestDto, session);

return ResponseDto.onSuccess(jwtTokenResponseDto);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.softeer.backend.fo_domain.draw.repository.DrawParticipationInfoRepository;
import com.softeer.backend.fo_domain.share.domain.ShareInfo;
import com.softeer.backend.fo_domain.share.domain.ShareUrlInfo;
import com.softeer.backend.fo_domain.share.exception.ShareUrlInfoException;
import com.softeer.backend.fo_domain.share.repository.ShareInfoRepository;
import com.softeer.backend.fo_domain.share.repository.ShareUrlInfoRepository;
import com.softeer.backend.fo_domain.user.domain.User;
Expand All @@ -16,6 +17,7 @@
import com.softeer.backend.global.common.dto.JwtClaimsDto;
import com.softeer.backend.global.util.JwtUtil;
import com.softeer.backend.global.util.RandomCodeUtil;
import jakarta.servlet.http.HttpSession;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
Expand All @@ -39,12 +41,13 @@ public class LoginService {
/**
* 1. Login 정보애서 인증 번호가 인증되지 않은 경우, 예외가 발생한다.
* 2. 전화번호가 User DB에 등록되어 있지 않은 경우, DB에 User를 등록한다.
* 2-1. 이 때 공유 정보, 공유 url 생성, 추첨 이벤트 참여 정보를 생성한다.
* 2-2. 만약 공유 url을 통해 인증한 사용자라면 공유한 사용자의 추첨 기회를 추가해준다.
* 3. 전화번호가 이미 User DB에 등록되어 있는 경우, 전화번호로 User 객체를 조회한다.
* 4. User 객체의 id를 얻은 후에, access & refresh token을 client에게 전달한다.
*/
@Transactional
public JwtTokenResponseDto handleLogin(LoginRequestDto loginRequestDto) {

public JwtTokenResponseDto handleLogin(LoginRequestDto loginRequestDto, HttpSession session) {
// 인증번호가 인증 되지 않은 경우, 예외 발생
if (!loginRequestDto.getHasCodeVerified()) {
log.error("hasCodeVerified is false in loginRequest.");
Expand All @@ -58,6 +61,7 @@ public JwtTokenResponseDto handleLogin(LoginRequestDto loginRequestDto) {
// 추첨 이벤트 참여 정보 생성
// 공유 정보 생성(초대한 친구 수, 남은 추첨 횟수)
// 공유 url 생성
// 만약 공유 url을 통해 새로 인증한 사용자라면 공유자에게 추첨 기회 1회 추가
if (!userRepository.existsByPhoneNumber(loginRequestDto.getPhoneNumber())) {
User user = User.builder()
.name(loginRequestDto.getName())
Expand All @@ -72,6 +76,19 @@ public JwtTokenResponseDto handleLogin(LoginRequestDto loginRequestDto) {
createDrawParticipationInfo(userId); // 추첨 이벤트 참여 정보 생성
createShareInfo(userId); // 공유 정보 생성(초대한 친구 수, 남은 추첨 횟수)
createShareUrlInfo(userId); // 공유 url 생성

String shareUrl = (String) session.getAttribute("shareUrl");
// 공유받은 url을 이용해 인증한다면
// 공유한 사람 추첨 기회 추가
// 공유받은 사람은 이미 공유 url로 참여했다고 표시해주기
if (shareUrl != null) {
// 공유한 사람의 아이디
Integer shareUserId = shareUrlInfoRepository.findUserIdByShareUrl(shareUrl)
.orElseThrow(() -> new ShareUrlInfoException(ErrorStatus._NOT_FOUND));

// 공유한 사람 추첨 기회 추가
shareInfoRepository.increaseRemainDrawCount(shareUserId);
}
}
// 전화번호가 이미 User DB에 등록되어 있는 경우
// 전화번호로 User 객체 조회
Expand All @@ -84,7 +101,6 @@ public JwtTokenResponseDto handleLogin(LoginRequestDto loginRequestDto) {
.id(userId)
.roleType(RoleType.ROLE_USER)
.build());

}

private void createShareInfo(Integer userId) {
Expand Down Expand Up @@ -126,5 +142,4 @@ private void createDrawParticipationInfo(Integer userId) {

drawParticipationInfoRepository.save(drawParticipationInfo);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter {
"/verification/send", "/verification/confirm",
"/login",
"/main/event", "/main/car",
"/admin/login", "/admin/signup"
"/admin/login", "/admin/signup",
"/share/**"
};

// Access Token이 header에 있으면 인증하고 없으면 인증하지 않는 url 설정
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ public enum StaticText {
"이벤트 당첨 이후 개인정보 제공을 거부하거나 개별 안내를 거부하는 경우, 당첨이 취소될 수 있습니다."),

// 공유 url
BASE_URL("https://softeer.shop/"),
BASE_URL("https://softeer.shop/share/"),
NON_USER_SHARE_URL("https://softeer.site"),

// 선착순
Expand Down

0 comments on commit 38bc5eb

Please sign in to comment.