Skip to content

Commit

Permalink
[ALL] 버전 1 출시 main 브랜치 머지 (#299)
Browse files Browse the repository at this point in the history
* chore: 안드로이드 프로젝트 폴더 생성 (#2) (#3)

* feat: 안드로이드 프로젝트 초기 세팅 (#5)

* chore: 안드로이드 프로젝트 폴더 생성 (#2)

* feat: 안드로이드 프로젝트 초기 세팅

* chore: gitignore 수정 및 불필요한 파일 삭제

* feat: 프로젝트 초기 세팅 (#7)

* fix: 초기 설정 삭제 (#10)

* feat: 백엔드 프로젝트 초기 세팅 (#11)

* feat: 프로젝트 초기 세팅

* chore: .DS_Store 파일 삭제 및 gitignore 추가

* chore: .DS_Store 파일 삭제 및 gitignore 추가

* chore: 패키지 구조 설정 (#12)

* [BE] feat: 엔티티 설계 (#15)

* chore: 프로퍼티 파일 수정

Co-authored-by: dooboocookie <[email protected]>
Co-authored-by: chaewon121 <[email protected]>
Co-authored-by: zillionme <[email protected]>

* feat: Member 엔티티 생성

Co-authored-by: dooboocookie <[email protected]>
Co-authored-by: chaewon121 <[email protected]>
Co-authored-by: zillionme <[email protected]>

* feat: Place 엔티티 생성

- Position 도메인 생성

Co-authored-by: dooboocookie <[email protected]>
Co-authored-by: chaewon121 <[email protected]>
Co-authored-by: zillionme <[email protected]>

* feat: Game 엔티티 생성

Co-authored-by: dooboocookie <[email protected]>
Co-authored-by: chaewon121 <[email protected]>
Co-authored-by: zillionme <[email protected]>

* feat: Position의 동등성 기능 추가

---------

Co-authored-by: dooboocookie <[email protected]>
Co-authored-by: chaewon121 <[email protected]>
Co-authored-by: zillionme <[email protected]>

* feat: 초기 resource 파일 세팅 (#16)

* feat: DTO 생성 (#18)

* feat: 위치를 나타내는 Dto 생성

* feat: 목적지를 나타내는 Dto 생성

* chore: gitkeep 파일 삭제

* feat: Domain 설계 및 생성  (#21)

* refactor: 좌표를 나타내는 Dto 이름 변경

* feat: 좌표를 저장하는 도메인 클래스 생성

* feat: 목적지를 저장하는 도메인 클래스 생성

* feat: 도메인 repository 인터페이스 생성

* feat: 네이버 맵을 화면에 띄우는 기능 구현 (#23)

* feat: 네이버 맵을 사용하기 위한 의존성을 gradle에 추가

* feat: manifest에 네이버 맵을 사용하기 위한 메타 데이터 추가

* feat: 액티비티 네이밍 변경, 네이버 맵을 화면에 띄우는 기능 구현

* chore: .gitignore 수정

* chore: 네이버 지도 사용을 위해 gradle.properties에 제티파이어를 추가하여 버전 차이 문제를 해결

* feat: 회원 인증 기능 구현 (#26)

* feat: 회원정보 추출 기능 구현

* feat: 회원 인증 어노테이션 커스텀 구현

* feat: 인터셉터 추가

* refactor: argumentResolver 리팩토링

* feat: 설정정보 인터셉터 추가

* refactor: 회원 정보 조회 예외처리 중복 수정

* feat: 위치 권한 요청 기능 구현 (#27)

* chore: repository 패키지 위치 이동

* feat: 모험시작 액티비티 생성

- 필요한 위치권한 Manifest에 등록
- 위치권한 요청

* design: UI관련 resource 추가

* feat: 게임 시작 기능 액티비티 추가 및 권한 요청 기능 구현

* design: 문자열 strings 리소스화

* design: 배경 및 버튼 색상 변경

* feat: 네이버지도에서 현재 위치를 잡는 기능 구현 (#28)

* feat: 위치 권한을 승인한 경우 모험 액티비티로 이동하는 기능 구현

* feat: 내 위치를 잡으면 트래킹하도록 기능 구현

* feat: isLocationButtonEnabled 활성화 구현

* feat: 장소 추천 기능 구현 (#29)

* chore: 프로퍼티 파일 수정

* feat: 위치 기준으로 반경 거리내의 장소 추천 쿼리 작성

* feat: Game 엔티티 빈 생성자 추가

* refactor: 패키지명 수정

* chore: 더미 데이터 추가

* feat: Game 엔티티 생성

* feat: Place 서비스 계층 생성

feat: 장소 선정 로직 기능 구현

* feat: GameRepository 생성

* feat: Game 서비스 계층 생성

feat: 장소 선정 기능 구현

* feat: Place 응답 DTO 구현

* feat: Game 컨트롤러 계층 생성

* style: 코드 정렬

* feat: 목적지와 현재위치 사이 거리를 계산하여 사용자에게 보여주는 기능 구현 (#35)

* feat: repository 목 구현체 생성

* feat: OnAdventureViewModel 생성

* refactor: 거리 반환값의 자료형을 Int로 수정

* feat: 목적지와 현재위치 사이 거리를 계산하여 사용자에게 보여주는 기능 구현

* feat: Coordinate를 받아 해당 위치에 좌표를 찍는 기능 구현 (#39)

- 목적지를 임시로 상수처리
- 추후 목적지를 서버에서 받아 마커를 찍는 방식으로 수정 필요

* feat: 사진 버튼을 클릭하면 사진 다이얼로그를 띄우는 기능 구현 (#40)

* design: close icon 추가

* feat: 화면에 관련된 유틸 파일과 메서드 생성

* design: OnAdventure 액티비티에서 사진을 보여주기 위한 다이얼로그 UI 구현

* feat: 목적지에 대한 사진을 띄워주는 DestinationPhotoDialog 구현

* refactor: LocationDialogFragment의 메서드를 DisplayUtil로 분리

* style: 코드 정렬

* feat: 생성시 액티비티로부터 사진을 받아오는 기능 구현

* design: 사진 아이콘 버튼 추가

* feat: 액티비티에서 사진 아이콘 버튼 클릭시 다이얼로그를 띄우는 로직 구현

* feat: 사진이 로딩중 문구 strings 리소스화

* feat: 뷰모델로부터 얻어온 사진을 넘기도록 로직 수정

* refactor: 다이얼로그 및 변수 네이밍 변경

* refactor: strings 리소스화

* refactor: 객체 네이밍 변경

* feat: 목적지에 도착 시 도착 버튼 활성화 기능 구현 (#41)

* design: 비활성화 버튼 color resource 추가

* design: 버튼의 상태에 따라 버튼 UI가 변경 되는 selector 생성

* feat: 목적지 도달 시 모험 종료 버튼 활성화 기능 추가

* refactor: 기존에 있는 drawable 활용해 selector 생성

* refactor: 도착 버튼 string을 resource에 추가

* �refactor: API 명세 변경으로 인한 기능 수정 (#43)

* refactor: 조회 쿼리의 결과를 List로 받도록 수정

* feat: 인증 관련 예외 기능 추가

* feat: 게임 관련 예외 기능 추가

* feat: 장소 관련 예외 기능 추가

* feat: 회원 관련 예외 기능 추가

* feat: 수정된 API 명세에 맞춰 게임 서비스 로직 수정

* feat: 수정된 API 명세에 맞춰 게임 서비스 로직 수정

* feat: 수정된 API 명세에 맞춰 장소 서비스 로직 수정

* feat: 수정된 API 명세에 맞춰 회원 서비스 로직 수정

* feat: 수정된 API 명세에 맞춰 게임 서비스 로직 수정

* feat: 게임에 대한 응답 DTO 생성

* feat: 수정된 API 명세에 맞게 컨트롤러 수정

* feat: 수정된 API 명세에 맞게 컨트롤러 수정

* style: import문 최적화

* refactor: 기존 런타임 예외를 인증 커스텀 예외로 수정

* refactor: 사용하지 않은 메서드 삭제

* refactor: 상수 이름 변경

* refactor: final 키워드 추가

* refactor: @transactional 어노테이션에 readOnly 속성 추가

* refactor: 패키지 수정

---------

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

* feat: 서버통신 초기세팅 (#44)

* feat: Adventure 도메인 클래스 생성

* feat: Adventure 상태를 갖는 enum 클래스 생성

* feat: 기능 변경에 따른 repository 변경

* chore: 사진 다이얼로그 패키지 위치 변경

* feat: AdventureDto 클래스 생성

* feat: Dto와 domain 클래스간의 mapper 구현

* refactor: repository 이름 변경

* feat: repository 기능 변경으로 인한 mock repository 변경

* feat: retrofit service 인터페이스 생성

* feat: adventure ERROR 상태 클래스 추가

* feat: Repository 변경에 따른 ViewModel 변경 및 서버 통신 오류 처리

* feat: Retrofit 객체 생성 및 interceptor 구현

* chore: AdventureService 패키지 위치 변경

* feat: 목적지 도착 여부 확인 기능 구현 (#47)

* feat: 좌표사이의 거리를 키로미터로 계산하는 로직 구현

* feat: 도착여부 판단 및 접근 권한 검증 기능 구현

* feat: 장소의 유효범위 여부 검증 구현

* feat: 게임 종료기능 api 구현

* refactor: 게임 관련 예외를 사용하도록 변경

* refactor: 인증 관련 예외 추가 및 적용

* style: final 키워드 추가 및 코드 정렬

* fix: 파라미터명 수정

* feat: 백엔드 ci workflows 초안 작성 (#49)

* chore: step 이름 추가 (#50)

* [BE] �fix: 백엔드 ci workflows 초안 작성 (#51)

* chore: step 이름 추가

* fix: default working directory 추가

* fix: working directory 상대경로로 변경 (#52)

* chore: step 이름 추가

* fix: default working directory 추가

* fix: working directory 상대경로로 변경

* feat: 서버에 모험 시작을 요청하는 기능 구현 (#48)

* refactor: AdventureRepository 수정

* feat: Coordinate 객체의 Domain to Dto 매핑 함수 생성

* feat: Result의 failure에서 사용할 나아가 팀만의 Throwable 생성

* feat: 서버통신이 성공적이지 않을 때에 대한 객체와 서버통신 코드를 단순화할 메서드 생성

* feat: AdventureRepository의 beginAdventure 함수 구현

* refactor: 코드 방식 변경 get() -> []

* feat: MockRepository의 beginAdventure 함수 구현

* refactor: 타입을 표현해줌

* feat: 실제 base url 등록

* feat: http 통신 허용

* fix: json 변환 과정 수정

* fix: TODO 주석처리

* feat: 코루틴 의존성 추가

* feat: 모험을 시작하는 서버통신 구현

* feat: 모험이 끝났을 때 서버에게 모험이 종료 됐음을 알려주는 기능 구현 (#53)

* feat: 모험 종료 시 서버에게 데이터를 받아 올 Dto 생성

* feat: 모험 종료 시 서버에게 받아 온 Dto mapper 생성

* refactor: 데이터 반환 값 타입 변경

* feat: AdventureRepository의 endAdventure 구현

* feat: 모험 종료 시 서버와 통신해 현재 모험 상태를 받아온 후 상황에 맞게 분기 처리 해주는 기능 구현

* refactor: mock Repository의 endAdventure 함수 구현

* fix: onClick에서 사용된 함수에게 인자를 넣어 Databinding 오류 해결

* feat: 서버에서 목적지를 받아오는 기능 구현 (#54)

* refactor: 게임 정보를 가져오는 서비스 수정

* feat: 서버에서 목적지를 받아오는 기능 구현

* fix: 목적지 도착 버튼 클릭 시 발생하는 오류 수정 (#56)

* fix: RetrofitService Path 수정

* fix: Serializable 어노테이션 추가

* refactor: iteration 명칭 변경 및 타입 명시 제거

* feat: 안드로이드 프로젝트에 firebase 추가 (#75)

* feat: 필요 없는 파일 삭제

잘못 올린 파일을 삭제합니다.

* chore: gitignore 수정 (#78)

* feat: 안드로이드 CI 자동화 (#77)

* chore: ktlint를 위한 config 파일 추가

* chore: ci 자동화를 위한 yml 파일 추가

* style: ktlint에 걸린 코드 정렬

* chore: ci 자동화 json 파일 추가

* style: ktlint에 걸린 코드 정렬

* style: ktlint에 걸린 코드 정렬

* chore: ci 자동화 json 파일 추가

* style: ktlint에 걸린 코드 정렬

* style: ktlint에 걸린 코드 정렬

* chore: ci 자동화 파일 수정

* style: ktlint 규칙 변경에 따른 수정

* feat: 스플래시 화면에서 진행 중인 모험이 있는지 판단하고 분기 하는 기능 구현 (#58)

* chore: apk 및 aab 추출을 위한 파일

* design: splash를 위한 스타일 생성

* feat: 레포지토리에 모험 상태를 통해 모험 목록을 받아오는 기능 추가

* feat: 모험 상태를 통해 모험목록을 받아오는 retrofit 인터페이스 작성

* feat: 모험 상태를 통해 모험 목록을 반환하는 레포지토리 기능 구현

* feat: 이전 액티비티로부터 OnAdventureActivity로 화면을 전환할때 필요한 인텐트를 반환하는 함수 작성

* feat: 스플래시 액티비티와 뷰모델(및 팩토리) 생성

- 스플래시에서 서버통신을 통해 현재 진행 중인 모험이 있는지 확인한다.
- 현재 진행 중인 모험이 있다면 해당 모험과 함께 OnAdventureActivity로 이동한다.
- 현재 진행 중인 게임이 없다면 BeginAdventureActivity로 이동한다.

* feat: 화면간 데이터 이동을 위한 uiModel 생성

- gradle에 parcelize 플러그인 추가
- AdventureUiModel 및 Mapper 생성
- CoordinateUiModel 및 Mapper 생성
- DestinationUiModel 및 Mapper 생성

* feat: parcelable한 데이터를 인텐트로부터 받기 쉽게할 유틸 함수 작성

* feat: OnAdventureActivity가 열리는 두 가지 경우에 따라 모험을 지정

- 이미 모험이 진행 중이면 이전 화면으로부터 모험을 전달 받고 모험을 서버에 요청하지 않는다.
- 진행 중인 모험이 없다면 서버로부터 모험을 요청한다.

* refactor: OnAdventureActivity에서 Intent를 생성해주므로 해당 함수를 이용하도록 변경

* [AN] feat: registerForActivityResult 분기처리 기능 구현 (#72)

* design: 대락적인 위치 권한만 허용됐을 시 보여줄 문구 string 리소스로 추가

* feat: Dialog 내에서 권한을 체크하여 대략적인 위치 권한이 있는 상태와 전혀 없는 상태를 구분하여 다른 문구를 보여주도록 구현

* feat: BeginAdventureActivity 권한 코드 수정

- 유저가 권한 요청을 허용 및 거절 했을 시 토스트 메시지로 즉각적인 피드백을 주도록 구현
- 함수 분리
- 다이얼로그 태그 상수화

* feat: BeginAdeventureActivity UI 변경사항 적용 (#71)

* design: 랭크, 마이페이지, 업로드 아이콘 추가

* design: 기존의 background를 지정하고 tint로 색을 지정하는 방식은 elevation을 반영하지 못해 색이 있는 shape을 새로 생성함

* design: BeginAdventureActivity에서 사용될 style 생성

* design: BeginAdventureActivity xml 레이아웃 작성

* feat: AdventureResultActivity 구현 (#80)

* design: 모험 결과 상태에 따른 스탬프 drawable 리소스 추가

* design: 모험 결과 페이지에 필요한 strings 리소스 추가

* feat: 모험 결과에 따라 다른 UI가 띄워지는 액티비티 구현

* fix: manifest 오류 수정

* feat: 3차 데모데이 엔티티 설계 (#84)

* feat: BaseEntity 생성

* feat: Player 도메인 생성

* feat: Hint 도메인 생성

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

* feat: GameResult 도메인 생성

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

* style: import문 최적화

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

* feat: 스프링 부트 어플리케이션에 @EnableJpaAuditing 추가

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

* refactor: 게임 도메인 수정

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

* refactor: 장소 도메인 생성

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

* refactor: Score 도메인 생성

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

* refactor: Place에 BaseEntity 상속 추가

* refactor: Member에 BaseEntity 상속 추가 및 생성자 추가

---------

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

* feat: OnAdventureActivity UI 변경사항 적용 (#73)

* design: OnAdventureActivity에서 사용하는 아이콘 추가

* rename: drawable 컨벤션 유지

* design: 색상 추가

* design: 원 형태의 백그라운드 추가

* design: 문구 변경

* feat: OnAdventureActivity UI 변경사항 적용

* feat: 서버로부터 받아온 목적지에 핀을 꽂는 기능 제거

* rename: 일관성을 위한 아이콘 이름 수정

* design: 하단 버튼 높이 통일

* design: 흰색 배경 drawable 생성

* design: 버튼 그림자 생성

* feat: 충돌 해결

* feat: 충돌 해결

* feat: 충돌해결

* [AN] feat: UploadActivity 구현

* chore: gitignore 수정

* design: 카메라, 좌표 아이콘 추가

* design: 출력 문구 추가

* design: 마진 사이즈 추가

* feat: UploadActivity 구현

* feat: UploadActivity의 인텐트를 가져오는 함수 구현

* chore: string.xml 변수명 변경

* refactor: 사진이 들어갈 이미지뷰와 카메라 아이콘을 분리

* feat: 카메라 권한 요청 기능 구현 (#92)

* design: 카메라 권한 관련 아이콘 추가

* feat: 카메라 권한 추가

* feat: dataBinding 사용하도록 xml 변경

* feat: 카메라 위치권한을 요구하는 다이얼로그 생성

* feat: 카메라 권한이 없는 경우 권한 요청 다이얼로그를 띄우는 기능 구현

* chore: 레이아웃 id 컨벤션 유지

* refactor: 다이얼로그의 tag를 다이얼로그 클래스에 위치하도록 통일

* refactor: 매직넘버 상수화

* rename: drawable 파일명 변경

* feat: 명세서 기준으로 Dto들 생성 (#89)

* feat: 명세서 기준으로 Dto들 생성

* feat: 변경된 API 명세에 맞춰 Dto 변경

* feat: 디바이스의 위치를 받아와 뷰에 보여주는 기능 구현 (#93)

* feat: 디바이스의 위치를 받아와 뷰에 보여주는 기능 구현

* refactor: 좌표를 문자열로 반환하는 기능 함수분리

* feat: 도메인 모델 생성 (#91)

* refactor: ERROR를 NONE으로네이밍 변경

* feat: 도메인 객체 생성 (미완)

* feat: 도메인 객체 수정 및 추가 생성

* feat: 도메인 수정

* rename: 패키지명 수정

* feat: 통계 path 레트로핏 서비스 구현 #101

* feat: 서버에서 Rank 관련 데이터를 받아올 때 사용될 service 생성 (#100)

* feat: 3차 데모데이용 Game Path 레트로핏 서비스 생성 (#102)

* feat: 장소 path 레트로핏 서비스 구현 (#103)

* feat: AdventureHistoryActivity 구현 (#106)

* design: AdventureHistory 뷰에 필요한 string resource 추가

* design: AdventureHistory 뷰에 필요한 drawable resource 추가

* design: 리사이클러뷰에 들어갈 Item 레이아웃 생성

* feat: 모험 기록을 보여 주는 리사이클러뷰 어댑터 생성

* feat: AdventureHistory 액티비티 구현

* feat: AdventureHistoryActivity에 모험 기록을 보여줄 리사이클러뷰 구현

* feat: 뒤로가기 버튼 구현

* refactor: 함수 이름 변경

* refactor: 이름이 길어질 때 줄여쓰기가 되도록 기능 추가

* refactor: Mock 데이터 생성 방법 수정

* refactor: 불필요한 함수 인자 삭제

* feat: RankRepository 생성 (#109)

* refactor: Service 명 수정

* feat: RankRepository Interface 구현

* feat: PlayerDto를 도메인 객체로 바꿔주는 도메인 mapper 생성

* feat: RankDto를 도메인 객체로 바꿔주는 도메인 mapper 생성

* feat: 서버와 Rank 데이터를 주고 받기 위해 팔요한 rank service 객체 생성

* feat: RankRepository 구현체 생성

* refactor: 함수 인자 표시

* feat: StatisticsRepository 생성 (#110)

* rename: 파일명 수정

* feat: StatisticsRepository 인터페이스 생성

* feat: 서버와의 Statistics 관련 통신을 위한 service 객체 생성

* feat: StatisticsDto 객체를 도메인 객체로 바꿔주는 Mapper 생성

* feat: StatisticsRepository 구현체 생성

* refactor: 함수 인자 표시

* feat: 3차 데모데이 기획 변경에 맞는 AdventureRepository 설계 및 구현 (#111)

* feat: 3차 데모데이 기획 변경에 맞는 AdventureRepository 설계 및 구현

* chore: 잘못 위치한 파일 위치 변경

* feat: PlaceRepository 생성 (#118)

* feat: 장소 repository interface 생성

* feat: 서비스풀에 장소 서비스 추가

* feat: place mapper 생성

* feat: 장소 repository 구현체 생성

* refactor: 오류처리 변경에 따른 repository 코드 수정

* feat: 통계 path api 목서버 구현 (#116)

* feat: 랭크 path api 목서버 구현 (#117)

* feat: 랭크 path api 목서버 구현

* feat: 필요없는 변수 변환 로직 제거

* feat: RankActivity 구현 (#119)

* feat: RankActivity 생성

* feat: RankActivity의 Intent를 생성해주는 함수 구현

* feat: 내 순위 및 전체 순위 목 데이터를 라이브 데이터 값으로 넣어주는 기능 구현

* design: RankActivity에 필요한 string resource 추가

* design: 내 순위 및 전체 순위를 보여주는 뷰 구현

* feat: 전체 순위를 띄워줄 리사이클러뷰 생성 및 구현

* feat: LiveData를 이용해 리사이클러뷰에 리스트 전달

* feat: 창 닫기 버튼 추가 구현

* refactor: Manifest 내의 rankActivity 위치 이동

* refactor: 컨벤션에 맞게 id 변경

* design: elevation을 활용해 그림자 추가

* refactor: dimens 적용

* refactor: 그림자 적용

* feat: 카메라로 찍은 사진을 뷰에 띄우고 Uri 추출기능 구현 (#120)

* feat: 촬영한 사진을 이미지뷰에 보여주는 기능 구현

* feat: 촬영한 사진의 Uri 추출 기능 구현

* refactor: 권한 요청 로직 수정 및 함수 위치 변경

- 업로드 화면으로 이동 시 시스템 권한 요구 상자 팝업(카메라, 위치)
- 거절한 권한에 대해 권한요청 다이얼로그 프래그먼트 팝업

* feat: 좌표 이미지를 클릭하여 좌표를 받아 보여주는 기능 구현

* feat: 닫기 버튼 추가

* feat: 3차 데모데이 뼈대 코드 추가 (#130)

* refactor: AuthInterceptor에서 인증처리만 하도록 변경

* feat: PlayerException 추가

* feat: Player를 MemberId로 조회하는 기능 추가

* refactor: 로그인 된 PlayerId를 받는 ArgumentResolver 구현

* refactor: PlayerService 적용

refactor: Request DTO 와 Command DTO 분리

* feat: MyPageActivity 구현 (#121)

* refactor: ERROR를 NONE으로네이밍 변경

* feat: 도메인 객체 생성 (미완)

* feat: 도메인 객체 수정 및 추가 생성

* feat: 인터넷 권한 추가

* feat: 마이페이지의 아이템에 필요한 리사이클러뷰 구현

* feat: 마이페이지에 재사용이 여러번 될 가능성이 있는 뷰를 커스텀 뷰로 제작

* feat: 마이페이지 액티비티 생성

* style: 개행

* feat: 마이페이지 아이템의 두가지 경우의 레이아웃을 따로 제작

* feat: 레이아웃이 두개로 나눠짐에 따라 어댑터 수정중

* feat: 마이페이지 커스텀 아이템 레이아웃 수정

* feat: 마이페이지 커스텀 아이템 내부 리사이클러뷰 구현 방식 변경 (멀티 뷰홀더 적용)

* feat: 마이페이지 뷰 구현

* feat: 도메인 모델을 UI모델로 변경할 매퍼 함수 생성

* design: mypage 레이아웃 디자인 변경

* feat: 뒤로가기 클릭리스너 추가

* remove: 중복된 객체 삭제

* refactor: view의 id 수정

* feat: Statistics 도메인 객체 수정으로 인해 자료형 변환 로직 추가

* fix: BaseEntity에 맞춘 data.sql 수정 (#133)

* [BE] refactor: Pull Request 워크플로우 수정 (#134)

* refactor: DTO들이 모두 record로 구현되도록 수정 (#136)

* refactor: Pull Request 워크플로우 재수정

* feat: merge 워크 플로우 추가 (#137)

* [BE] feat: merge 워크 플로우 추가

* [BE] refactor: merge 워크플로우 수정

* [BE] feat: 도커파일 생성

* [BE] refactor: 도커파일 이름 수정

* [BE] refactor: merge 워크플로우 재수정

* refactor: merge 워크 플로우 추가 (#139)

* feat: merge 워크 플로우 추가

---------

Co-authored-by: zillionme <[email protected]>
Co-authored-by: dooboocookie <[email protected]>

* feat: 랭크 조회 기능 구현 (#94)

* feat: 맴버 아이디로 플레이어 찾는 기능 구현

* feat: RankResponse dto 구현

* feat: RankResponse 정적팩토리 생성자 구현

* feat: 전체 랭크 조회 기능 구현

* feat: 나의 랭크 조회 기능 구현

* refactor: 요청 파라미터 예외 설정

* test: 테스트코드 추가

* refactor: 예외처리 로직 수정

* refactor: json 명세 수정으로 인한 dto 수정

* refactor: players 도메인을 삭제하고 Rank도메인으로 리팩토링

* refactor: 변수명 수정

* test: 테스트 오류 수정

* style: 디버깅 삭제

* feat: 랭크 뷰 기능 구현 및 서버 통신 구현 (#138)

* remove: 필요없는 목 서버 삭제

* feat: 인자가 있는 ViewModel 생성을 위해 ViewModelFactory 생성

* feat: RankDto에 Serializable을 달아주어 직렬화가 가능하도록 구현

* refactor: 불필요한 null 검증 로직 제거

* feat: 서버와 통신해 전체 랭크와 내 랭크 정보를 받아온 후 사용자에게 보여주는 기능 구현

* feat: 서버 통신을 실패해 데이터를 불러오지 못했을 때 메시지를 띄운 후 창이 닫히도록 구현

* refactor: Retrofit Builder에 목서버 url로 갈아끼움

* refactor: 서버 통신 실패 시 에러 처리 로직 함수 분리

* feat: 시작 화면에서 랭크 버튼 클릭 시 랭크 화면으로 이동하도록 구현

* refactor: 함수 이름 변경

* refactor: 리사이클러뷰 애니메이터 설정 변경

* refactor: 내 등수 단위 표시 string 추가

* refactor: ktlint 적용

* refactor: 랭킹 관련 레트로핏 서비스의 path 변경

* feat: 게임 결과 뷰 서버 통신 및 기능 구현 (#143)

* feat: gameId 값을 받아오는 intent

* feat: 뷰모델에 인자로 레포지터리를 넘겨주기 위해 뷰모델 팩토리 생성

* refactor: RankDto에 Serializable을 달아주어 직렬화가 가능하도록 구현

* design: 게임 결과 화면에 필요한 string resource 추가

* refactor: 목 서버와의 연결을 위해 baseUrl 변경

* refactor: 랭크 API 통신을 위해 ViewModel에 RankRepository 인자 추가

* feat: 서버와 통신해 게임 결과를 받아온 후 사용자에게 보여주는 기능 구현

* feat: 서버와 통신해 내 랭크를 받아온 후 사용자에게 보여주는 기능 구현

* feat: 총 플레이 시간을 포매팅해서 보여주는 기능 구현

* feat: 메인으로 돌아가기 버튼을 누를 시 메인으로 돌아가게 하는 기능 구현

* refactor: timeFormatter의 패턴 상수화 처리

* refactor: 불필요한 Log 삭제

* design: color resource 추가

* refactor: 함수 분리

* refactor: 뷰 간격 조절

* feat: 서버에서 받아 온 imageUrl을 Glide를 사용해 이미지로 띄워주는 기능 구현

* design: 버튼 크기 조절

* feat: 모험 결과 DTO와 도메인 객체의 raisedRank 삭제

* feat: 랭크 변동 상황을 알려주는 뷰 삭제

* feat: 인자 변경에 따른 수정 사항 적용

* feat: 모험 기록 뷰 기능 구현 및 서버 통신 구현 (#151)

* design: 모험 기록 뷰 디자인 변경

* design: 모험 기록 뷰 리사이클러뷰 아이템 디자인 변경

* refactor: 뷰 생성 위치 변경, 함수명 변경

* feat: 아이템에 사진 넣는 로직 추가

* feat: 뷰모델 팩토리 생성, 로컬 목데이터에서 가져오던 데이터를 서버로부터 가져오도록 변경

* feat: manifest exported 변경

* feat: 이미지 뷰 corner radius 적용

* design: 색상 변경 및 그림자 적용

* design: 마진값 변경

* [AN] feat: MyPage 기능 구현 (#146)

* feat: �게임 결과 조회 기능 구현 (#152)

* feat: 게임 아이디를 통해 게임결과를 조회한다

* feat: 결과 반환을 위한 responseDTO 생성

* refactor: 게임 결과를 위한 도메인 수정

* feat: 게임 결과 반환 기능 구현 완료

* style: 코드 컨벤션에 맞게 수정

* style: 코드 컨벤션에 맞게 수정

* refactor: 게임 도메인의 오류 리팩토링

* refactor: final 추가

* refactor: 게임 전체 결과 가져오는 로직 수정

* feat: 게임 종료 API 및 게임 조회 테스트 구현 (#147)

* test: 게임 종료 기능 테스트

* feat: 게임 종료 기능 기본 구조 추가

* feat: 게임 종료 기능 구현

* test: 게임 점수 계산 기능 테스트

* feat: 게임 점수 계산 기능 구현

* test: 게임 점수 계산 테스트 수정

* test: 게임 종료 및 게임 결과 저장 서비스 테스트

* feat: 게임 종료 서비스 및 dto 구현

* test: 게임 종료 api 테스트

* feat: 게임 종료 api 구현

* test: 게임 종료 api 테스트 수정

* test: sql파일 수정 및 게임 종료 api 테스트 추가

* feat: 모험 결과 DTO와 도메인 객체의 raisedRank 삭제

* feat: 랭크 변동 상황을 알려주는 뷰 삭제

* feat: 인자 변경에 따른 수정 사항 적용

* test: 게임 종료 api 예외 처리 테스트 추가

* refactor: Game 클래스 필요없는 메서드 제거 및 리팩터링

* feat: 모험 기록 뷰 기능 구현 및 서버 통신 구현 (#151)

* design: 모험 기록 뷰 디자인 변경

* design: 모험 기록 뷰 리사이클러뷰 아이템 디자인 변경

* refactor: 뷰 생성 위치 변경, 함수명 변경

* feat: 아이템에 사진 넣는 로직 추가

* feat: 뷰모델 팩토리 생성, 로컬 목데이터에서 가져오던 데이터를 서버로부터 가져오도록 변경

* feat: manifest exported 변경

* feat: 이미지 뷰 corner radius 적용

* design: 색상 변경 및 그림자 적용

* design: 마진값 변경

* [AN] feat: MyPage 기능 구현 (#146)

* feat: �게임 결과 조회 기능 구현 (#152)

* feat: 게임 아이디를 통해 게임결과를 조회한다

* feat: 결과 반환을 위한 responseDTO 생성

* refactor: 게임 결과를 위한 도메인 수정

* feat: 게임 결과 반환 기능 구현 완료

* style: 코드 컨벤션에 맞게 수정

* style: 코드 컨벤션에 맞게 수정

* refactor: 게임 도메인의 오류 리팩토링

* refactor: final 추가

* refactor: 게임 전체 결과 가져오는 로직 수정

* refactor: 테스트 fixture 클래스 생성

* refactor: 테스트 fixture 적용

* fix: 레포지토리 테스트 truncate.sql 추가

* fix: 서비스 테스트 트랜잭션 추가

* test: 게임 식별자로 게임 조회 테스트 추가

* chore: 식별자로 게임 조회 메서드명 변경

* chore: 머지 컨플릭트 해결

---------

Co-authored-by: hyunji1203 <[email protected]>
Co-authored-by: k_dragonm <[email protected]>
Co-authored-by: krrong <[email protected]>
Co-authored-by: chaewon121 <[email protected]>

* feat: 장소 등록 api 구현

* feat: BaseEntity 생성

* feat: Player 도메인 생성

* feat: Hint 도메인 생성

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

* feat: GameResult 도메인 생성

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

* style: import문 최적화

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

* feat: 스프링 부트 어플리케이션에 @EnableJpaAuditing 추가

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

* refactor: 게임 도메인 수정

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

* refactor: 장소 도메인 생성

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

* refactor: Score 도메인 생성

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

* refactor: Place에 BaseEntity 상속 추가

* refactor: Member에 BaseEntity 상속 추가 및 생성자 추가

* test: 장소를 주가하는 기능 tdd

test: 테스트에서 사용되는 값 fixture 생성

* feat: 장소 저장하는 기능 구현

* feat: 장소 저장하는 기능 구현

* feat: places 응답 DTO 추가

* test: 장소 생성 API E2E 테스트 추가

feat: 장소 생성 API 구현

* refactor: PlaceCheckService 도메인 서비스 생성

refactor: MultipartFileManager 파일 저장기 생성

* feat: 임시 커밋

* refactor: File 저장 경로 profile에서 변수로 관리하도록 변경

* feat: Place 전체 조회 기능 추가

- 정렬 기능

* feat: Place 단건 조회 기능 추가

* feat: Place 추천 서비스 도메인 서비스로 분리

* feat: Place 생성 서비스 로직 매개변수로 CreatePlaceCommand 받도록 수정

* refacotr: 파일 저장 경로 application.properties에서 받도록 수정

* test: Fixture 수정 및 테스트 수정

* test: 장소 추가 API 테스트 추가

test: 장소 추가 API 예외 테스트 추가

test: 아이디 장소 조회 API 테스트 추가

test: 장소 조회 API 테스트 추가

* test: 테스트 수정

* chore: 충돌 해결

---------

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

* chore: 안드로이드 CI workflow 수정

* feat: 힌트 생성 API 설계 및 구현 (#142)

* feat: 위경도 좌표를 통해 방향을 계산하는 기능 구현

* feat: memberId 로 Member 를 찾는 기능 구현

* feat: PlayerService 생성

* feat: 힌트 생성에 대한 Command DTO 생성

* feat: 힌트 결과에 대한 DTO 생성

* feat: 힌트에 대한 Service 생성

* feat: 게임에서 힌트를 더 사용할 수 있는지에 대한 판단 기능 구현

* feat: 힌트 생성에 대한 Request DTO 생성

* feat: 힌트 생성에 대한 Command DTO 생성

* feat: 힌트 개수에 따른 생성 제약 조건 및 예외 추가

* feat: GameController 에 힌트 생성 API 로직 구현

* fix: 힌트 최대 사용 개수 수정

* refactor: 게임 최대 시도 횟수를 상수로 추출

* test: 로컬 테스트 환경 설정

* feat: cascade 조건 추가

* test: 더미데이터를 담은 테스트용 fixture 생성

* test: 힌트 생성 기능에 대한 테스트 작성

* chore: RestAssured 의존성 추가

* fix: Game 에서의 cascade 적용 철회 및 테스트 일부 수정

* test: 힌트 생성 API 테스트 코드 작성

* style: 코드 정렬

* feat: 특정 게임의 힌트 단건 조회 API 설계 및 구현 (#157)

* feat: 힌트 조회 Command DTO 생성

* feat: 힌트 관련 예외 추가

* refactor: MemberFixture 에서 매직넘버를 상수로 추출

* feat: 힌트 id를 통해 힌트를 조회하는 기능 구현

* feat: 힌트 id를 통한 힌트 조회 API 구현

refactor: HintResponse 구조 수정

remove: DirectionResponse 삭제

* chore: 병합 충돌 해결

* style: 코드 정렬

* feat: 인게임 화면 기능 및 서버통신 구현 (#149)

* feat: OnAdventure의 기능목록 작성

* feat: 분리된 Factory 클래스 삭제. ViewModle의 동반객체로 이동

* feat: 기능 개발중.. 임시 커밋

* feat: 라이브데이터를 상황에 맞게 커스텀 하려고 시도중

* feat: 도메인이 추가 및 변경됨에 따라 UiModel과 Mapper를 생성

* feat: Place 도메인 기능 추가

* feat: 인게임 화면에서 필요한 상태 및 로직들을 뷰모델에 작성

* feat: 네이버맵에 대한 코드로 인해 액티비티가 너무 길어져 액티비티 코드를 줄이기 위해 분리를 시도중

* style: 아이콘 추가

* feat: 목서버 base url 적용

* feat: 라이브데이터로부터 옵저버가 처음 한번만 notify를 받을 수 있는 라이브데이터 생성

* design: 아이콘 추가

* feat: Positive 버튼과 Negative 버튼이 존재하는 다이얼로그를 재사용할 수 있도록 생성 및 포기하기, 힌트 사용하기 다이얼로그 빌더 함수 생성

* feat: OnAdventureActivity에서 네이버맵 관련 작업을 분리한 코드 작성

- 힌트 마커 추가
- 목적지 마커 추가
- 네이버 로고 위치 조정
- 나침반 위치 조정
- 내 위치 버튼 위치 조정

* feat: OnAdventureViewmodel 재구현

* feat: Dto에 빠진 Serializable 어노테이션 추가

* feat: 뷰모델 변경으로 인해 데이터바인딩 수정

* design: string resources 추가

* feat: OnAdventureActivity 기능 구현
- 오류 처리
- 서버 통신(목서버)
- 다이얼로그 띄우기

* feat: adventureRepository 변경으로 인한 수정

* feat: 뷰모델 팩토리 위치 변경

* feat: 도메인 변경으로 인한 코드 수정

* style: 매니페스트 정리

* refactor: NaagaAlertDialog 개선. 버튼 클릭 이벤트를 다이얼로그 생성시 무조건 받도록 수정함

* feat: AdventureResultActivity를 생성하는 인텐트를 받아오는 방식 변경 및 adventureId를 함께 넘겨줌

* chore: 백엔드 CD 워크플로우 수정

---------

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

* feat: 점진적 리팩토링이 완료됨에 따라 파일 정리 (#156)

* refactor: 기존에 사용하던 Adventure 도메인 객체와 AdventureRepository가 완전히 대체되었으므로 삭제하고 새로 생성한 객체들의 임시 네이밍을 변경

* docs: 기능 구현이 완료되었으므로 기능 목록을 제거한다.

* refactor: 도메인의 점진적 리팩토링이 완료됨에 따라 UiModel과 Mapper 또한 사용되지 않는 것들을 삭제하고 임시 네이밍을 변경했습니다.

* refactor: 점진적 리팩토링이 완료됨에 따라 사용되지 않는 dto들을 삭제하고 패키지 구조를 변경

* refactor: dto와 도메인이 변경됨에 따라 Mapper가 변경됨

* refactor: 서비스 인터페이스와 서비스 풀에서 더 이상 사용하지 않는 파일 삭제 및 dto 변경으로 인한 변경

* refactor: 점진적 리팩토링이 완료됨에 따라 사용하지 않는 레포지토리 구현체 삭제

* rename: repository 네이밍 변경으로 인한 수정

* refactor: 도메인 변경으로 인한 스플래시 변경 및 기능 개선

* rename: 도메인 변경으로 인한 변경

* rename: adventureRepository와 그 구현체 네이밍 변경으로 인한 수정

* feat: 통계 조회 기능 구현 (#159)

* feat: Statistic 반환dto 생성

* feat: Statistic 도메인 생성 및 계산로직 구현

* feat: 나의 통계 조회 기능 구현 완료

* fix: 시간계산 오류 수정

* test: @Sql조건 수정

* refactor: 총 플레이 시간과 게임 시간 값 수정

* fix: 인터셉터 패턴 추가 (#161)

* feat: 게임 시작 화면 기능 구현 (#162)

* design: BeginAdventureActivity에 필요한 string resource 추가

* refactor: 이동할 뷰에게 getIntent 함수를 이용해 intent 생성

* fix: Splash 화면에서 바로 인게임 화면으로 넘어가는 오류 수정

* feat: 메뉴를 누르면 해당 화면으로 이동하도록 구현

* refactor: 게임 결과 화면이 자신의 Intent를 생성하도록 수정

* refactor: ktlint 적용

* feat: 게임 생성 로직 수정 (#166)

* fix: 잘못된 인덱스 로직 수정

* feat: Location 헤더로부터 id를 추출하는 기능 구현

* refactor: 매직넘버를 상수로 대체

* feat: 3차 데모데이 API 명세에 맞추어 응답 DTO 필드 추가

* test: 게임 생성 API 테스트 작성

* chore: 서브 모듈 설정 추가

* feat: firebase crashlytic 초기 환경 설정 (#170)

* feat: FirebaseAnalytics 생성 및 로그 삽입을 담당할 객체 생성 및 상수 모음 파일 생성 (#171)

* fix: application 파일 복구 (#174)

* chore: 더미 데이터 추가 (#176)

* feat: API 수정으로 인한 변경사항 적용 (#177)

* feat: 명세서 변경으로 인해 dto 변경

* feat: 도메인 객체의 타입 변경

* feat: 받아올 값의 타입과 보여줄 뷰의 형태 변화를 반영한 코드 수정

* design: 제약 변경, 보여줄 데이터의 단위 추가

* feat: 목데이터를 실제 값으로 변경

* feat: 인텐트 값을 받아오는 것의 예외 상황에 대한 처리

* refactor: RankReponse 수정 (#179)

* refactor: 변수명 수정

* refactor: 변수명 수정

* feat: baseUrl 변경 및 감추기와 그에 따른 yml 파일 변경 (#182)

* feat: baseUrl이 노출되지 않도록 하며 github secret으로부터 가져올 수 있도록 yml 파일 수정

* feat: local.properties로부터 baseUrl을 가져올 수 있도록 변경

* feat: baseUrl을 BuildConfig로부터 가져올 수 있도록 변경

* ci 파일 1차 수정

* ci 파일 2차 수정

* ci 파일 3차 수정

* ci 파일 4차 수정

* refactor: 쿼리와 uri 수정 (#184)

* refactor: 변수명 수정

* refactor: 변수명 수정

* refactor: 변수명 수정

* fix: uri 쿼리파라미터 오류 수정

* feat: 업로드 뷰 기능 구현 (#181)

* feat: 제목, 설명을 입력받는 기능 구현

* feat: 촬영한 사진의 uri를 뷰모델에 저장

* feat: 모든 정보가 입력되지 않은 경우 전송하지 못하도록 하는 기능 구현

* refactor: 함수명 수정

* feat: 좌표 확장함수 생성 및 전송 기능 수정

- 필요한 정보가 하나라도 입력되지 않은 경우 정보를 입력해달라는 토스트 메시지 출력
- ViewModel에 좌표를 전달하고, 뷰에 좌표를 출력하기 위해 원하는 형태의 text로 변환하는 확장함수 생성

* feat: post 시 필요한 데이터를 파트로 분리

* feat: ViewModel 생성에 필용한 팩토리 추가

* feat: place 등록 기능 구현

* feat: viewModel 생성방법 변경 및 등록 버튼 리스너 연결

* fix: GET /games 쿼리 스트링 없어도 되도록 수정 (#187)

* fix: 게임 전체 조회 기능 수정

* fix: 게임 전체 조회 기능 재수정

* fix: 랭크 전체조회 쿼리 파라미터 조건 수정 (#191)

* fix: 장소데이터 추가 및 인터셉터 설정 변경

* refactor: 컨트롤러 요청 수정 (#193)

* fix: POST /games/{gameId}/hints 쿼리 스트링 없어도 되도록 수정 (#195)

* fix: 힌트 생성 api

* fix: 힌트 생성 api 재수정

* feat: 게임 종료 시, 플레이어 점수 덧셈 기능 추가 (#198)

* feat: 게임 종료 시, 플레이어 점수 덧셈 기능 추가

* refactor: 게임 결과 거리 조회 수정

* feat: Firebase Analytics 버튼 클릭 로그 추가 (#183)

* feat: view id를 가져오기 위한 확장함수 추가

* feat: BeginAdventureActivity firebase용 버튼 로그 추가

* feat: LocationPermissionDialog firebase용 버튼 로그 추가

* refactor: 함수명 및 함수위치 통일

* feat: AdventureResultActivity firebase용 버튼 로그 추가

* feat: MyPageActivity firebase용 버튼 로그 추가

* feat: OnAdventureActivity firebase용 버튼 로그 추가

* refactor: 함수명 통일

* feat: UploadActivity firebase용 버튼 로그 추가

* feat: CameraPermissionDialog firebase용 버튼 로그 추가

* feat: xml에 있는 onClick 함수 삭제 및 firebase 버튼 로그 추가

* [BE] chore: spring profile에 대한 yml 파일 수정

* chore: yml 파일 수정

* chore: submodule 수정

* fix: @value 어노테이션 삭제

* fix: 서버 통신 수정 (#196)

* feat: NaagaThrowable을 수정하면서 data layer에서 400 / 500 / onFailure 세가지만 판단

* feat: 변경된 명세에 따라 AdventureStatusDto 변경

* feat: OnAdventureActivity에서 에러 로그를 볼 수 있도록 추가

* feat: OnAdventureActivity에서 도착 실패시 다시 시도하라는 토스트 발생

* feat: 다른 라이브 데이터를 받아서 한번만 호출할 수 있도록 효율적으로 변경

 - 기존에는 DiposableLiveData를 만들고 이 데이터에 setValue까지 직접 해줘야했는데 이제는 다른 라이브데이터를 받아서 DisposableLiveData까지 setValue해주지 않아도 된다.

* feat: 기존 게임을 불러올 경우 기존의 힌트를 찍어주는 로직 작성

* rename: 매개변수명 변경

---------

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

* refactor: dev 서버 환경 구축 (#236)

* chore: submodule url 프로토콜 수정

* Update backend_dev_merge_workflow.yml

* Update backend_dev_merge_workflow.yml

* Update backend_dev_merge_workflow.yml

* Update backend_dev_merge_workflow.yml

* Update backend_dev_merge_workflow.yml

* Update backend_dev_merge_workflow.yml

* Update backend_dev_merge_workflow.yml

* Update backend_dev_merge_workflow.yml

* Update backend_dev_merge_workflow.yml

* Update backend_dev_merge_workflow.yml

* Update backend_dev_merge_workflow.yml

* Update backend_dev_merge_workflow.yml

* Update backend_dev_merge_workflow.yml

* Update backend_dev_merge_workflow.yml

* Update backend_dev_merge_workflow.yml

* Update backend_dev_merge_workflow.yml

* Update backend_dev_merge_workflow.yml

* Update backend_dev_merge_workflow.yml

* Update backend_dev_merge_workflow.yml

* chore: update submodule

* Update backend_dev_merge_workflow.yml

* Update backend_dev_merge_workflow.yml

* Update backend_dev_merge_workflow.yml

* Update backend_dev_merge_workflow.yml

* chore: update submodule

* chore: update submodule

* chore: MySql 의존성 추가

* chore: update submodule

* Update backend_dev_merge_workflow.yml

* Update backend_dev_merge_workflow.yml

* chore: update submodule

---------

Co-authored-by: kokodakadokok <[email protected]>
Co-authored-by: kokodak <[email protected]>

* fix: 깃허브 액션 워크플로우 수정 (#239)

* feat: 소셜 로그인 기능 구현 (#235)

* design: LoginActivty에 필요한 drawable source 추가

* design: LoginActivty에 필요한 string source 추가

* feat: 소셜 로그인을 위한 gradle 추가

* feat: 난독화 시 카카오 SDK가 포함되지 않도록 규칙 설정

* feat: 카카오 로그인 API key 숨김 처리

* feat: 인터넷 사용 권한 허용

* feat: 카카오 로그인 기능을 위한 Redirect URI 설정 추가

* feat: Kakao SDK를 초기화하는 application 구현

* feat: Kakao 로그인 기능 Util 구현

* design: LoginActivity 뷰 구현

* feat: 게임 상태가 진행 중이 아닐 때 Splash 화면에서 로그인 화면으로 이동하도록 구현

* feat: 상태바 색상 변경

* feat: 로그인 기능 구현

* feat: 사용자의 카카오 계정 닉네임을 마이페이지에 보여주는 기능 구현

* feat: 서버와 통신해 토큰을 얻어올 때 필요한 Dto, Domain 객체 생성

* feat: Dto, Domain 변환 mapper 추가

* feat: 서버와 통신하여 로그인 인증을 해주는 retrofit service 구현

* feat: 로그인 인증을 통해 토큰을 가져와주는 레포지토리 구현

* feat: 서버에게 받은 토큰을 저장하는 SharedPreference 구현

* feat: 서버에게 토큰을 받아와 로컬 저장소에 저장하는 기능 구현

* feat: 카카오 API KEY 감추기에 따른 yml 파일 수정

* fix: yml 파일 오류 수정

* fix: yml 파일 오류 수정

* fix: yml 파일 오류 수정

* fix: yml 파일 오류 수정

* refactor: ktlint 적용

* refactor: yml 파일 코드 정리

* refactor: 암호화 처리 되는 EncryptedSharedPreferences로 변경

* feat: retrofit Header에 서버에서 받아온 토큰 넣어주기 구현

* refactor: 카카오 토큰을 함수 인자로 받아오도록 수정

* rename: preference가 사용된 파일명을 datasource로 변경

* refactor: 함수 인자명 변경

* chore: 오류 코드 정리 및 예외 핸들러 보완

* chore: 오류 코드 문서와 통일

* refactor: 에러코드 문서화에 맞춘 코드 수정

* refactor: 요청 바디에 대한 입력 오류 예외 핸들러 추가

* fix: 원격 저장소와의 코드 변경 수정

* Update backend_dev_merge_workflow.yml

* hotfix: workflow 긴급 수정

* hotfix: yml 파일 삭제

* fix: 게임 종료 실패 시, 남은 도전 횟수 줄지 않는 문제 해결

* chore: 서브모듈 추가

* 게임 종료 특정 예외 롤백 예외 적용

* fix: 도착 실패시, 시도 횟수 롤백 문제 수정

* test: 테스트 추가

* chore: workflow 수정

* chore: workflow 수정

---------

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

* feat: 자동 로그인 및 로그인 로직 수정 (#241)

* feat: AuthInterceptor 만드는 중

* feat: 닉네임은 서버에서 내려주는 정보이므로 직접 가져올 필요가 없다. 로직 삭제

* rename: 카카오라는 플랫폼에 종속적이지 않은 인증정보 저장소이므로 네이밍 변경

* chore: NaagaApplication은 특정 뷰에 종속된 것이 아닌 어플리케이션 전체를 관장하는 객체이므로 패키지 변경

* feat: Application의 서브클래스 수정 및 해당 위치에서 AuthDataSource 생성

* rename: Preference 네이밍 변경

* feat: 도메인에서 엑세스 토큰과 리프레시 토큰에 대한 내용은 필요가 없다고 생각되어 삭제

* feat: preference에 refresh 로직 추가

* feat: AuthRepository 수정, 데이터 레이어에서 토큰을 저장할 수 있도록 변경

* feat: 주석 추가 및 고차함수를 통해 콜백에서 발급되는 토큰을 받아감

* rename: AuthService의 함수명 변경

* refactor: object에서 class로 변경

* refactor: DefaultAuthRepository에서 dataSource를 외부에서 주입받도록 변경

* refactor: 토큰 가져오는 방식이 변경됨

* feat: 카카오 로그인 방식에 문제가 있어 변경함

* feat: AuthInterceptor 완성

* feat: 예외처리  (#243)

* feat: 데이터 레이어에서 사용할 Custom Throwable 클래스 생성

* feat: 통신 오류시 DataThrowable을 사용하는 코드 스니펫 작성

* feat: RankRepository의 서버 통신을 DataThrowable을 사용하는 통신으로 변경

* feat: 예상하는 예외 발생 시 토스트메시지로 보여주는 기능 구현

* refactor: sort, order를 도메인 Enum 클래스를 사용하도록 변경

* feat: PlaceRepository의 서버 통신을 DataThrowable을 사용하는 통신으로 변경

* feat: StatisticsRepository의 서버 통신을 DataThrowable을 사용하는 통신으로 변경

* feat: upload 기능 서버 통신 연결 해제

* refactor: 점진적 리팩토링 종료 및 불필요한 코드 삭제

* feat: http 응답코드 500번대, body가 null일 때 반환할 에러 추가

* feat: 통신 오류시 DataThrowable을 사용하는 코드 스니펫에 예외 핸들링 추가

* fix: 잘못된 파라미터 수정

* feat: 클라이언트에서 사용하는 hintThrowable 추가

* feat: AdventureRepository의 서버 통신을 DataThrowable을 사용하는 통신으로 변경

* feat: 장소등록 페이지로 이동하지 못하도록 구현

* style: 불필요한 개행 삭제

* refactor: 뷰모델 코드 통일 및 핸들링할 예외 수정

* refactor: 예외 발생 시 보여주는 방법 변경

* refactor: ViewModelProvider의 factory를 ViewModel의 동반객체로 이동

* refactor: 사용하지 않는 예외 클래스 삭제

* refactor: 인증관련 에러 삭제

* refactor: 에러 코드 변경

* feat: 소셜 로그인 기능과 인터셉터 인가 처리 및 아규먼트 리졸버 기능 추가

* feat: OAuth 연습

* feat: OAuth 연습2

* chore: 연습 코드 삭제

* feat: JWT 생성 로직

* feat: AccessToken과 RefreshToken 담고있는 AuthTokens 생성

* feat: 카카오 토큰으로 카카오로부터 유저 정보 받아오는 요청 로직 추가

* feat: 인증 정보 조회에 대한 서비스 로직 추가

* feat: 로그인 관련 요청 추가

* feat: JWT에서 멤버 ID 추출하는 기능 추가

* feat: 인터셉터에서 Authorization 헤더에서 토큰 추출해서 memberId 조회하는 기능 추가

* feat: 멤버 회원가입 시, 플레이어 함께 생성하도록 추가

chore: 네이밍 변경

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

* refactor: Member에 Password 삭제

test: Basic 헤더에서 Bearer + 토큰으로 변경

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

* chore: 패키지 구조 변경

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

* test: AuthInterceptor 테스트 추가

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

* test: AuthArgumentResolver 테스트 추가

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

* test: AuthController 테스트 추가

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

* test: AuthService 테스트 추가

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

* chore: 필요없는 프로필 삭제

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

* feat: 서브모듈 추가

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

* feat: 예외 처리 추가

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

* remove: 테스트 프로필 삭제

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

* chore: 스타일 수정

* test: pull 후 테스트 통과되도록 수정


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

* feat: 난독화를 위해 모든 Dto 필드에 SerialName을 추가 (#245)

* fix: AuthInfo에 기본 생성자 추가

* fix: 서브모듈 업데이트

* feat: 앱 아이콘 설정 (#253)

* fix: 메인으로 돌아갈 시 해당 액티비티가 사라지도록 수정 (#255)

* feat: 사용자가 GPS 기능을 껐을 때 이를 인지하고 키도록 유도하는 기능 구현 (#258)

* feat: 장치 구성 변경 대응 (#250)

* feat: 화면을 세로모드로 고정

* feat: 다크모드를 사용해도 다크테마가 나오지 않도록 변경

* feat: 난독화 방지를 위한 ProGuard 수정 (#259)

* refactor: 좌표 간 거리를 M 단위로 변경 및 힌트/시도횟수 변경

* refactor: 좌표간 거리를 m 단위로 변경

* refactor: 힌트 최대 사용 개수와 최대 시도 횟수 변경

* fix: 서브모듈 최신화

* feat: Firebase Analytics 서버 통신 에러 로그 추가 (#260)

* refactor: 게임 종료 타입에 따른 점수 계산 기능 수정

* refactor: 메서드 명 변경

* refactor: 게임 시작 위치와 목적지의 직선 거리 구하는 기능 추가

* refactor: 게임 종료 타입에 따른 점수 계산 기능 수정

* refactor: 게임 결과에 따른 점수 계산 기능 수정

* refactor: gameScore 관련 패키지 네이밍 변경

* refactor: enum을 클래스의 상수로 빼놓은 것 수정

* refactor: gamescore 도메인에 스프링 의존성 제거

* refactor: 스코어 정책 못 찾을 때 예외 발생하도록 변경

feat: InternalException과 Exception에 대한 핸들러 추가

* chore: 스타일 수정

---------

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

* feat: 로깅 기능 추가 (#268)

* feat: 이어하기 기능 추가 (#263)

* feat: 이어하기 기능 구현

* feat: 뒤로가기 버튼을 2초내에 두 번 눌려야 종료되도록 기능 구현

* feat: splash를 거치면 login 액티비티로 이동하도록 수정

* feat: splash에서 adventure를 받아온 경우 BeginAdventureActivity까지 전달

- 이를 통해 이어하기가 가능하도록 기능 구현

* feat: 진행중인 게임이 있는 경우 이어하기가 표시되도록 변경

* feat: 게임결과 화면에서 뒤로가기 버튼 클릭 시 BeginAdventureActivity로 이동하도록 구현

* refactor: 버전에 따른 분기처리 함수에 Compat suffix 추가

* refactor: 문자열 strings.xml로 이동

* refactor: 사진 저장 경로 수정  (#269)

* refactor: 이미지 저장하는 경로와 URL 경로 수정

* chore: 서브모듈 업데이트

* chore: 프로덕트 서버 배포

* chore: prod 서버 배포

* chore: prod 서버 배포

* fix: OnAdventureActivity 수정 (#265)

* chore: lottie 의존성 추가

* design: 로티 애니메이션과 뷰 추가

* feat: 로딩 기능 추가

* feat: 뷰모델 불필요한 로직 정리

* feat: 중복 값에는 갱신되지 않는 라이브데이터 생성

* feat: 로티를 지도 위로 띄우기 위해 elevation을 적용

* feat: 로티 배경 흐린 색으로 수정

* design: string 리소스 추가

* feat: 힌트 잔여횟수 표시하도록 변경, 정답 도전 잔여 시도 횟수 표기, 토스트에서 스낵바를 띄우도록 변경, 목적지가 없을 시 종료

* design: 불필요한 + 버튼 삭제

* design: margin값 변경

* feat: snackbar를 toast로 변경

* feat: 로그인 시 사용자의 토큰이 로그에 보여지지 않도록 수정 (#271)

* feat:  스플래시에서 받아온 게임을 넘겨주는 기능 삭제 (#274)

* refactor: 로그 경로 변경

* chore: 서브모듈 수정

* fix: 잘못된 로직 수정 (#276)

* feat:  스플래시에서 받아온 게임을 넘겨주는 기능 삭제

* fix: 잘못된 로직 수정

* feat: 시작 액티비티 변경

* feat: BeginAdventureActivity에서 진행중인 게임이 있는지 판단하는 기능 구현 (#277)

* design: 로딩을 위한 스켈레톤 UI 생성

* feat: 진행중인 상태의 게임을 받아오고 로딩하는 과정을 추가

* feat: 작업중

* rename: 로티 파일 이름 변경

* design: 스켈레톤 뷰 지우고 로티 뷰 추가

* feat: 로티 로딩뷰로 수정

* style: 로그 삭제

* feat: 뷰 진행 플로우 변경

* refactor: 직접 만든 로직을 이미 존재하는 코틀린 api로 대체

* fix: 에러 수정

* fix: 사진 저장 시 1번 회원으로만 저장되는 오류 수정

* fix: 사진 저장 시 1번 회원으로만 저장되는 오류 수정

* chore: 서브모듈 업데이트

* chore: 서브모듈 업데이트

* chore: 추천 범위 500km로 수정

* test: 테스트 fixture 및 builder 추가 및 적용

* fix: 잘못된 거리 계산 수정

* feat: 테스트 Builder 패턴 적용 및 Fixture 생성

remove: 기존의 Fixture 파일 삭제

* test: 테스트 Builder 적용 및 기존의 cascade 옵션 삭제

* fix: application.yml 수정

* chore: 리커시브 컴페리전 이그노어 필드 추가

---------

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

* feat: Refresh Token 구현 및 자동 로그인 API, 회원 탈퇴 API, 로그아웃 API 구현

* test: 액세스 토큰 재발급 e2e 테스트 작성

* fix: 로그 환경셜정 변경

* feat: 액세스 토큰 재발급 기능 추가

* refactor: 액세스 토큰 재발급 기능 리팩터링

* refactor: 최초 액세스 토큰 발급 시 AuthToken 영속화

* chore: 임시 커밋

* test: 일부 테스트 수정 및 삭제

* feat: 아규먼트 리졸버 변경 및 추가

* feat: 소셜 로그인 연결 끊기 기능 추가

* fix: 아규먼트 리졸버 스프링 빈 등록

* refactor: 기본 설정파일 수정

* chore: 서브모듈 업데이트

* refactor: 멤버, 플레이어 삭제 필드 추가

* feat: 멤버, 플레이어 삭제 기능 추가

* feat: 토큰 삭제 기능 추가

* feat: AuthToken에 멤버 필드 추가

* feat: 로그아웃 API 추가

* chore: 패키지 구조 변경

* test: 회원탈퇴 로그아웃 E2E 테스트 추가

* chore: 서브모듈 업데이트

* refactor: 소프트 딜리트 @SqlDelete로 수정

refactor: cascade 옵션 PERSIST로 수정

test: 회원탈퇴 로그아웃 서비스, 컨트롤러 테스트스 작성

* chore: 충돌 해결

* chore: 서브모듈 업데이트

* chore: 충돌 해결

---------

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

* test: 작성되지 않은 테스트 코드 추가

* fix: 잘못된 거리 계산 수정

* feat: 테스트 Builder 패턴 적용 및 Fixture 생성

remove: 기존의 Fixture 파일 삭제

* test: 테스트 Builder 적용 및 기존의 cascade 옵션 삭제

* test: 없는 예외 테스트 추가

* test: StatisticTest 와 gameServiceTest 추가

* Update backend_dev_pr_workflow.yml

* fix: Thread.sleep 추가

* Update GameControllerTest.java

* Update GameControllerTest.java

* Update backend_dev_pr_workflow.yml

* Update backend_dev_pr_workflow.yml

* Update backend_dev_pr_workflow.yml

* Update GameControllerTest.java

* Update backend_dev_pr_workflow.yml

* Update backend_dev_pr_workflow.yml

* test: 테스트 fixture 및 builder 추가 및 적용

* fix: 잘못된 거리 계산 수정

* feat: 테스트 Builder 패턴 적용 및 Fixture 생성

remove: 기존의 Fixture 파일 삭제

* test: 테스트 Builder 적용 및 기존의 cascade 옵션 삭제

* fix: application.yml 수정

* chore: 리커시브 컴페리전 이그노어 필드 추가

---------

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

* feat: Refresh Token 구현 및 자동 로그인 API, 회원 탈퇴 API, 로그아웃 API 구현

* test: 액세스 토큰 재발급 e2e 테스트 작성

* fix: 로그 환경셜정 변경

* feat: 액세스 토큰 재발급 기능 추가

* refactor: 액세스 토큰 재발급 기능 리팩터링

* refactor: 최초 액세스 토큰 발급 시 AuthToken 영속화

* chore: 임시 커밋

* test: 일부 테스트 수정 및 삭제

* feat: 아규먼트 리졸버 변경 및 추가

* feat: 소셜 로그인 연결 끊기 기능 추가

* fix: 아규먼트 리졸버 스프링 빈 등록

* refactor: 기본 설정파일 수정

* chore: 서브모듈 업데이트

* refactor: 멤버, 플레이어 삭제 필드 추가

* feat: 멤버, 플레이어 삭제 기능 추가

* feat: 토큰 삭제 기능 추가

* feat: AuthToken에 멤버 필드 추가

* feat: 로그아웃 API 추가

* chore: 패키지 구조 변경

* test: 회원탈퇴 로그아웃 E2E 테스트 추가

* chore: 서브모듈 업데이트

* refactor: 소프트 딜리트 @SqlDelete로 수정

refactor: cascade 옵션 PERSIST로 수정

test: 회원탈퇴 로그아웃 서비스, 컨트롤러 테스트스 작성

* chore: 충돌 해결

* chore: 서브모듈 업데이트

* chore: 충돌 해결

---------

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

* chore: 충돌 해결

---------

Co-authored-by: kokodak <[email protected]>
Co-authored-by: kokodakadokok <[email protected]>
Co-authored-by: dooboocookie <[email protected]>
Co-authored-by: dooboocookie <[email protected]>
Co-authored-by: zillionme <[email protected]>

* feat: 버전 변경 (#290)

* feat: 로깅하기 (#291)

* 임시저장

* 임시저장

* feat: 환경 설정별 로깅 추가

* refactor: 로그 파일 및 warn, error 로그 메시지 수정

* refactor: db 로그 출력 분리

* refactor: db 로그 레벨 수정

* chore: 서브모듈 업데이트

* chore: 워크 플로우 수정

---------

Co-authored-by: krrong <[email protected]>
Co-authored-by: zillionme <[email protected]>
Co-authored-by: kokodakadokok <[email protected]>
Co-authored-by: chaewon121 <[email protected]>
Co-authored-by: zillionme <[email protected]>
Co-authored-by: k_dragonm <[email protected]>
Co-authored-by: chaewon121 <[email protected]>
Co-authored-by: hyunji <[email protected]>
Co-authored-by: kokodak <[email protected]>
Co-authored-by: hyunji1203 <[email protected]>
  • Loading branch information
11 people authored Sep 6, 2023
1 parent b9e2f6e commit ab5140c
Show file tree
Hide file tree
Showing 421 changed files with 17,432 additions and 0 deletions.
135 changes: 135 additions & 0 deletions .github/workflows/android_ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
name: NAAGA ANDROID CI

on:
pull_request:
branches: [ dev ]
paths:
- 'android/**'

jobs:
ktlint:
name: ktlint check
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./android

steps:
- uses: actions/checkout@v3

- name: Setup JDK 11
uses: actions/setup-java@v3
with:
distribution: "temurin"
java-version: 11

- name: Cache Gradle packages
uses: actions/cache@v2
with:
path: |
~/android/.gradle/caches
~/android/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', '**/buildSrc/**/*.kt') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Add Local Properties
env:
API_KEY: ${{ secrets.BASE_URL }}
KAKAO_APP_KEY: ${{ secrets.KAKAO_NATIVE_APP_KEY }}
KAKAO_SCHEME: ${{ secrets.KAKAO_REDIRECTION_SCHEME }}
run: |
echo BASE_URL=\"$API_KEY\" >> ./local.properties
echo KAKAO_NATIVE_APP_KEY=\"KAKAO_APP_KEY\" >> ./local.properties
echo kakao_redirection_scheme=\"KAKAO_SCHEME\" >> ./local.properties
- name: Run ktlint
run: ./gradlew ktlintCheck

build:
name: build
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./android
steps:
- uses: actions/checkout@v3

- name: Setup JDK 11
uses: actions/setup-java@v3
with:
distribution: "temurin"
java-version: 11

- name: Cache Gradle packages
uses: actions/cache@v2
with:
path: |
~/android/.gradle/caches
~/android/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', '**/buildSrc/**/*.kt') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Add Local Properties
env:
API_KEY: ${{ secrets.BASE_URL }}
KAKAO_APP_KEY: ${{ secrets.KAKAO_NATIVE_APP_KEY }}
KAKAO_SCHEME: ${{ secrets.KAKAO_REDIRECTION_SCHEME }}
run: |
echo BASE_URL=\"$API_KEY\" >> ./local.properties
echo KAKAO_NATIVE_APP_KEY=\"KAKAO_APP_KEY\" >> ./local.properties
echo kakao_redirection_scheme=\"KAKAO_SCHEME\" >> ./local.properties
- name: Add Google Service Json file
run: echo '${{ secrets.GOOGLE_SERVICES_JSON_FILE }}' > ./app/google-services.json

- name: Run Build
run: ./gradlew assembleDebug

test:
name: test
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./android
steps:
- uses: actions/checkout@v3

- name: Setup JDK 11
uses: actions/setup-java@v3
with:
distribution: "temurin"
java-version: 11

- name: Cache Gradle packages
uses: actions/cache@v2
with:
path: |
~/android/.gradle/caches
~/android/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', '**/buildSrc/**/*.kt') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Grant execute permission for gradlew
run: chmod +x gradlew

- name: Add Local Properties
env:
API_KEY: ${{ secrets.BASE_URL }}
KAKAO_APP_KEY: ${{ secrets.KAKAO_NATIVE_APP_KEY }}
KAKAO_SCHEME: ${{ secrets.KAKAO_REDIRECTION_SCHEME }}
run: |
echo BASE_URL=\"$API_KEY\" >> ./local.properties
echo KAKAO_NATIVE_APP_KEY=\"KAKAO_APP_KEY\" >> ./local.properties
echo kakao_redirection_scheme=\"KAKAO_SCHEME\" >> ./local.properties
- name: Add Google Service Json file
run: echo '${{ secrets.GOOGLE_SERVICES_JSON_FILE }}' > ./app/google-services.json

- name: Run Build
run: ./gradlew testDebugUnitTest
25 changes: 25 additions & 0 deletions .github/workflows/backend_dev_merge_workflow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: NAAGA BACKEND MERGE CI
on:
push:
branches:
- dev
jobs:
deploy:
runs-on: naaga
steps:
- name: change permission
run: |
sudo chown -R ubuntu:ubuntu /home/ubuntu/actions-runner/naaga/2023-naaga/2023-naaga
- name: checkout
uses: actions/checkout@v3
with:
submodules: true
ssh-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: remove
run: |
sudo rm -rf /home/ubuntu/2023-naaga
- name: deploy
run: |
sudo cp -r /home/ubuntu/actions-runner/naaga/2023-naaga/2023-naaga /home/ubuntu
cd /home/ubuntu
sudo ./deploy.sh
54 changes: 54 additions & 0 deletions .github/workflows/backend_dev_pr_workflow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: NAAGA BACKEND PULL REQUEST CI

on:
pull_request:
branches:
- dev
paths:
- backend/**

jobs:
build_test:
name: backend check
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./backend

steps:
- name: checkout
uses: actions/checkout@v3
with:
submodules: true # 모든 서브모듈도 체크아웃
ssh-key: ${{ secrets.SSH_PRIVATE_KEY }}

- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'corretto'

- name: Grant execute permissions for gradlew
run: chmod +x gradlew

- name: 삭제한다
run: |
rm src/main/resources/application.yml
- name: 복사한다
run: |
cp src/main/resources/security/application-local.yml src/main/resources/application.yml
- name: Build with Gradle
run: ./gradlew build

- name: 삭제한다
run: |
rm src/main/resources/application.yml
- name: 복사한다
run: |
cp src/main/resources/security/application-test.yml src/main/resources/application.yml
- name: Test with Gradle
run: ./gradlew test
40 changes: 40 additions & 0 deletions .github/workflows/backend_prod_merge_workflow.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: NAAGA BACKEND PRODUCT SERVER MERGE CI/CD

on:
push:
branches:
- main

jobs:
deploy:
runs-on: naaga
steps:
- name: change permission
run: |
sudo chown -R ubuntu:ubuntu /home/ubuntu/actions-runner/naaga/2023-naaga/2023-naaga
- name: checkout
uses: actions/checkout@v3
with:
submodules: true
ssh-key: ${{ secrets.SSH_PRIVATE_KEY }}

- name: project remove
run: |
sudo rm -rf /home/ubuntu/prod/2023-naaga
- name: project copy
run: |
sudo cp -r /home/ubuntu/actions-runner/naaga/2023-naaga/2023-naaga /home/ubuntu/prod
- name: build
run: |
cd /home/ubuntu/prod/2023-naaga/backend
sudo chmod +x ./gradlew
sudo ./gradlew clean bootJar
- name: transfer & run
run: |
cd /home/ubuntu/prod
chmod +x ./deploy_prod.sh
sudo ./deploy_prod.sh
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "backend/src/main/resources/security"]
path = backend/src/main/resources/security
url = [email protected]:2023-naaga-sub/security.git
9 changes: 9 additions & 0 deletions .idea/2023-naaga.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit ab5140c

Please sign in to comment.