notes
Chat App using React and Firebase
React와 Firebase로 채팅 앱을 구성하는 인증·메시지·실시간 동기화 메모.
0. 초기 설정
- 터미널에 다음 코드를 입력합니다.
git clone https://github.com/safak/youtube2022.git
cd youtube2022
git checkout react-chat
code .
- firebase.js 파일 안의 firebaseConfig 값이 유효하지 않기에, 아직 프로젝트를 실행은 불가능합니다.
1. Firebase 프로젝트 생성
- https://console.firebase.google.com/ 에 접속합니다.
프로젝트 추가클릭 → 프로젝트 이름 입력 후,계속클릭
- Google 애널리틱스 사용 설정 해제 후,
프로젝트 만들기클릭 →계속클릭
2. 웹 앱에 Firebase 추가
</> 아이콘클릭 → 앱 닉네임 입력 후,앱 등록클릭
- 사이트 내의 코드를 복사 → firebase.js 파일 안에 붙여넣기 →
x버튼 클릭
- 아래와 같이 환경변수를 활용한 코드 작성을 권장합니다.
- 터미널에 다음 코드를 입력합니다. (프로젝트 실행)
yarn
yarn start
“An invalid form control with name='' is not focusable” 오류 해결 방법
- Register.tsx의 67번째 줄 코드에
noValidate를 추가합니다. (사진 참고)
3. Authentication 설정
- 빌드 카테고리 →
Authentication클릭
시작하기클릭 →이메일/비밀번호클릭
- 이메일/비밀번호 사용 설정
on→저장클릭
4. Storage 설정
- 빌드 카테고리 →
Storage클릭 → 시작하기 클릭
시작하기클릭 →테스트 모드에서 시작선택 →다음클릭
완료클릭
5. Firebase Database 설정
- 빌드 카테고리 →
Firebase Database클릭
Create database클릭
가이드와 화면이 다른 경우
3. Start in test mode 선택 → Next 클릭 → Enable 클릭
6. 프로젝트 실행
- 회원가입을 통해 계정 두 개를 생성합니다.
- Authentication에 식별자(이메일) 및 사용자 UID가 저장됩니다.
- Storage에 프로필 사진이 저장됩니다.
- Cloud Firestore에 회원 가입 정보가 저장됩니다.
- 두 계정에 로그인합니다.
- 하나의 창은 크롬 시크릿모드를 사용합니다.
- 채팅 기능을 확인합니다.
- Storage에 첨부 파일 및 사진이 저장됩니다.
- Cloud Firestore에 채팅 정보가 저장됩니다.