🚩 핑 Ping! 2024/05/11 ~ 2024/05/24 기술 스택 Jetpack(Navigation, Safeargs, Datastore) Coroutine + Flow DataStore Glide Kotlin DSL + buildSrc Firebase(FireStore, Authentication, CloudFunction, FCM) 네이버 Maps API Credential Manager - Google Login Google App Architecture + MVVM ChatGPT API Retrofit2, OkHttp3 Junit⚠️(GPT API 테스트코드 하나) 스크린샷 Junit 사용된 테스트 코드 한 개 @Test fun ChatGPTTest() = runTest { val repo = ChatGPTRepoImpl.initialize() val messages = listOf( Message(role = "user", content = "오늘 뭐하면 좋을까?") ) runCatching { repo.getChatCompletion(messages) }.onSuccess { println("API 호출 성공: ${it.choices}") assertTrue("API 호출이 성공했습니다.", it.choices.isNotEmpty()) }.onFailure { println("API 호출 실패: ${it.message}") assertFalse("API 호출이 실패했습니다.", true) } } 시연 영상 - 유튜브 링크 프로젝트 구조도 commit convention feat : 기능 (새로운 기능) fix : 버그 (버그 수정) refactor : 리팩토링 design : CSS 등 사용자 UI 디자인 변경 comment : 필요한 주석 추가 및 변경 style : 스타일 (코드 형식, 세미콜론 추가: 비즈니스 로직에 변경 없음) docs : 문서 수정 (문서 추가, 수정, 삭제, README) test : 테스트 (테스트 코드 추가, 수정, 삭제: 비즈니스 로직에 변경 없음) chore : 기타 변경사항 (빌드 스크립트 수정, assets, 패키지 매니저 등) init : 초기 생성 rename : 파일 혹은 폴더명을 수정하거나 옮기는 작업만 한 경우 remove : 파일을 삭제하는 작업만 수행한 경우