빌드 및 환경 설정을 마침내 완료했습니다! 🎉
현재 develop 브랜치에는 모든 팀원이 안전하게 코딩할 수 있는 기본 환경이 커밋되었습니다.
이 가이드를 따라 로컬 개발 환경을 설정하고, 각자 맡은 기능 구현을 시작해 주세요.
1. ⚙️ 개발 환경 설정 및 시작 (필수)
A. Git 최신화 및 브랜치 생성
- Develop 브랜치 최신화:
git checkout develop
git pull origin develop
- 개인 브랜치 생성: 각자 역할에 맞는 브랜치를 파고 코딩을 시작합니다.
git checkout -b feature/[모듈 이름]
B. Firebase 에뮬레이터 실행 (매 작업 시작 시 필수)
팀원들은 코딩을 시작하기 전에 반드시 로컬 개발 서버를 켜야 합니다.
- 터미널에서 명령어 실행: (프로젝트 루트 폴더에서)
- 확인: 브라우저에서
http://127.0.0.1:4000에 접속하여 Emulator UI가 정상적으로 뜨는지 확인합니다.
C. Kotlin 코드 내 연결 설정
MainActivity.kt 파일에는 이미 다음 코드가 onCreate()에서 호출되어 있습니다. 이 코드가 여러분의 앱을 로컬 에뮬레이터에 연결해 줍니다. (이 코드를 임의로 수정하거나 삭제하지 마세요.)
// MainActivity.kt 파일 내
private fun initializeEmulators() {
// ... useEmulator() 호출 로직 ...
}
2. 🛡️ Firestore DB 접근 가이드 및 규칙
DB 구조는 이미 확정되었으며, 코딩 시 다음 규칙을 반드시 준수해야 합니다.
A. 인스턴스 접근 (모든 클래스)
Firebase 모듈 접근 시 반드시 getInstance()를 사용합니다. 이 인스턴스는 로컬 에뮬레이터에 연결되어 있습니다.
// 모든 Repository 또는 ViewModel에서 사용
private val db = FirebaseFirestore.getInstance()
private val auth = FirebaseAuth.getInstance()
B. 확정된 DB 접근 경로 (Kotlin 코드 참조용)
모든 팀원은 다음 경로와 메서드를 사용하여 Firestore에 접근해야 합니다.
// 모든 Repository 또는 ViewModel에서 사용
private val db = FirebaseFirestore.getInstance()
private val auth = FirebaseAuth.getInstance()
3. 🚨 SDK 및 보안 관리 지침 (운영)
팀원들은 다음 보안 지침을 숙지하고 개발을 진행해야 합니다.
Firebase Console에서 해당 섹션의 'SDK 안내 보기'를 참고하세요!
A. 구성 파일 및 키 관리
-
SHA-1 지문 추가: Google 로그인(인증)을 테스트하려면, 각자의 컴퓨터에서 획득한 SHA-1 지문을 Firebase 프로젝트 설정에 등록해야 합니다. 미등록 시 로그인이 실패합니다.
-
google-services.json 업데이트: 앱 설정 변경 시 (예: 새 서비스 추가) [Firebase Console의 앱 설정]에서 google-services.json 파일을 다시 다운로드하여 app/ 폴더에 복사하고 사용해야 합니다.
참고: 이 파일은 .gitignore에 등록되어 있으므로 Git에 커밋하면 안됩니다!
B. 데이터 쓰기 규칙
빌드 및 환경 설정을 마침내 완료했습니다! 🎉
현재
develop브랜치에는 모든 팀원이 안전하게 코딩할 수 있는 기본 환경이 커밋되었습니다.이 가이드를 따라 로컬 개발 환경을 설정하고, 각자 맡은 기능 구현을 시작해 주세요.
1. ⚙️ 개발 환경 설정 및 시작 (필수)
A. Git 최신화 및 브랜치 생성
B. Firebase 에뮬레이터 실행 (매 작업 시작 시 필수)
팀원들은 코딩을 시작하기 전에 반드시 로컬 개발 서버를 켜야 합니다.
http://127.0.0.1:4000에 접속하여 Emulator UI가 정상적으로 뜨는지 확인합니다.C. Kotlin 코드 내 연결 설정
MainActivity.kt파일에는 이미 다음 코드가onCreate()에서 호출되어 있습니다. 이 코드가 여러분의 앱을 로컬 에뮬레이터에 연결해 줍니다. (이 코드를 임의로 수정하거나 삭제하지 마세요.)2. 🛡️ Firestore DB 접근 가이드 및 규칙
DB 구조는 이미 확정되었으며, 코딩 시 다음 규칙을 반드시 준수해야 합니다.
A. 인스턴스 접근 (모든 클래스)
Firebase 모듈 접근 시 반드시 getInstance()를 사용합니다. 이 인스턴스는 로컬 에뮬레이터에 연결되어 있습니다.
B. 확정된 DB 접근 경로 (Kotlin 코드 참조용)
모든 팀원은 다음 경로와 메서드를 사용하여 Firestore에 접근해야 합니다.
3. 🚨 SDK 및 보안 관리 지침 (운영)
팀원들은 다음 보안 지침을 숙지하고 개발을 진행해야 합니다.
Firebase Console에서 해당 섹션의 'SDK 안내 보기'를 참고하세요!
A. 구성 파일 및 키 관리
SHA-1 지문 추가: Google 로그인(인증)을 테스트하려면, 각자의 컴퓨터에서 획득한 SHA-1 지문을 Firebase 프로젝트 설정에 등록해야 합니다. 미등록 시 로그인이 실패합니다.google-services.json 업데이트: 앱 설정 변경 시 (예: 새 서비스 추가) [Firebase Console의 앱 설정]에서 google-services.json 파일을 다시 다운로드하여 app/ 폴더에 복사하고 사용해야 합니다.참고: 이 파일은 .gitignore에 등록되어 있으므로 Git에 커밋하면 안됩니다!
B. 데이터 쓰기 규칙
투표 배열(voterUids) 업데이트 시: FieldValue.arrayUnion() 또는 FieldValue.arrayRemove() 메서드를 반드시 사용합니다.모든 DB 작업은 addOnFailureListener를 포함하여 오류에 대비해야 합니다.