///
Search
📑

개발환경 설정

1. Github

Repository 생성

{Project-Name}-Backend : Firebase backend 소스코드 관리를 위한 Repository
{Project-Name}-Flutter : Flutter 소스코드 관리를 위한 Repository

.gitignore 파일 추가

{Project-Name}-Backend 용 .gitignore
{Project-Name}-Flutter 용 .gitignore

2. Firebase

Firebase Project 생성

{Project-Name} Staging : 개발환경
{Project-Name} Production : 운영환경

요금제 Spark ⇒ Blaze 로 변경

Region = northeast3

3. 개발 디렉토리 설정 및 initial commit

{Project-Name} 디렉토리 생성
하위에 {Project-Name}-Flutter, {Project-Name}-Backend git clone

4. Flutter Project

Android Studio 에서 Fluter 프로젝트 생성. 생성된 파일들 모두 {Project-Name}-Flutter 하위로 이동
gitignore 추가
commit & push

5. Firebase Project

{Project-Name}-Backend 디렉토리에서 firebase init 수행. exsiting project 연결.
gitignore 추가
commit & push

6. Firebase Backend github action 자동 배포 스크립트

Github backend repo Secrets에 FIREBASE_TOKEN 추가

쉘에서 firebase login:ci 수행하면 token 나옴

Github action 추가

Functions - Production
Functions - Staging

7. Firebase 빌드 및 hot reload 설정

firebase.json

predeploy 에서 lint 제거

functions/package.json

"scripts": { "lint": "eslint --ext .js,.ts .", "build": "tsc", "serve": "tsc -w | firebase emulators:start --only functions", "shell": "npm run build && firebase functions:shell", "start": "npm run shell", "deploy": "firebase deploy --only functions", "logs": "firebase functions:log", "kill-port": "npx kill-port 8080 && npx kill-port 4000 && npx kill-port 9000 && npx kill-port 9099 && npx kill-port 8085 && npx kill-port 4400" },
YAML
복사

8. Firebase Functions 서비스 계정 추가

firebase 프로젝트 설정 > 서비스 계정 > 새 비공개 키 생성 > json 파일을 functions디렉토리로

9. Firebase Functions Boilerplate

위 커밋 상태가 개발환경 firebase functions 셋팅 완료한 상태

10. Firebase iOS/Android 앱 추가

bundle ID
staging, production 구분하여 iOS, Android 앱 각각 추가

11. 클라우드 메시징

teamId: QD353RFHM5
keyID: W9J9DBB796
p8 파일을 Firebase 프로젝트 설정 > 클라우드 메시지 에 추가
p8파일 로컬에 잘 보관하기.

12. Flutter 기본 pub 설정

flutter pub add firebase_core
flutter pub add firebase_auth
flutter pub add firebase_messaging
flutter pub add provider
flutter pub add http
flutter pub add build_runner
flutter pub add dart_json_mapper
flutter pub add shared_preferences
flutter pub add http_interceptor

13. Flutter

스크립트
build.yaml