본문 바로가기
Firebase

첫 데이터 넣기: Static 컬렉션 실습 ✦ Firestore 셋업 #3

by ARCOA 2025. 12. 5.

안녕하세요! ARCOA 지안입니다. 👋 

지난 글에서 Firestore Database를 만들었다면, 이제는 실제로 데이터를 넣어볼 차례입니다.

 

컬렉션? 문서? 필드?
엑셀 데이터를 어떻게 넣지?

 

Firestore의 구조는 간단해요.

컬렉션(폴더) → 문서(파일) → 필드(셀)

이번 실습에서는:
✦ card_master 컬렉션 만들기
✦ 필드 유형(타입) 설정 (string, number, array 등)
✦ 샘플 카드 데이터 입력하기

실습을 위한 준비물:

  1. 엑셀 또는 구글 시트로 정리한 카드 데이터
  2. 최소 2~3개 카드 샘플 (card_id, card_name, card_type 등)

준비되었다면, 손으로 직접 데이터를 넣어보면서 Firestore 입력 감각을 익혀봅시다 🚀

 

 

 

Step 1. 핵심 컬렉션 구조 설계

1-1. Firebase Console 접속

 

1-2. Firestore Database로 이동

  • 왼쪽 메뉴에서 (그림 1)  빌드 → ✦② Firestore Database 클릭
  • (그림 1) ✦③ 프로젝트 바로가기로 한번에 이동할 수도 있어요!
  • (그림 1) ✦④ 컬렉션 시작 클릭

그림 1. Firestore Database 화면
그림 1. Firestore Database

 

 

 

Step 2. 컬렉션 ID 설정

2-1. 컬렉션 ID 네이밍 규칙

- Static (기준 정보) _master ⭕

  • card_master: 카드 정보
  • category_master: 카테고리
  • level_master: 등급 정보

- Dynamic (사용자 흔적) _master ❌

  • users: 사용자 정보
  • users/{uid}/requests: 추천 요청
  • users/{uid}/logs: 행동 기록

- 네이밍 스타일 (일관성 유지):

  • 언더스코어: card_master ✅ (권장, 가장 흔함)
  • 카멜케이스: cardMaster
  • 소문자만: cardmaster

중요 핵심

  • _master 유무로 Static/Dynamic 구분
  • 한 프로젝트에서 하나의 스타일로 통일

 

2-2. card_master 컬렉션 만들기

  • ARCOA 앱의 정적 데이터인 신용카드 데이터를 예시로 만들어보겠습니다.
  • (그림 2) ✦⑤ 컬렉션 ID에 card_master 입력

그림 2. 컬렉션 시작 - ID 지정 화면
그림 2. 컬렉션 시작 - ID 지정

TIP 왜 'card_master'인가요?
  • card - 신용카드 데이터
  • master - Static 데이터(기준 정보)를 의미

 

 

 

Step 3. 첫 문서와 필드 설정

3-1. 문서 ID 자동 생성

  • 자동 생성: Firestore가 랜덤 ID 생성 (예: a7Kd2Xm9...)
  • 수동 입력: 규칙적인 ID 가능 (예: card_sh_01)
  • 이번 실습에서는 자동 생성으로 진행 → 나중에 대량 업로드 시 체계적 ID 부여
  • (그림 3)  ✦⑦ 문서 ID는 자동 ID 버튼 클릭

 

3-2. 필드 설정

  • (그림 3) ✦⑧~ 각 칸에 맞는 정보를 예시 표의 1줄을 참고하여, 본인 데이터에 맞는 필드 1개 완성
  • (그림 3) ✦⑪을 클릭해서 준비한 데이터와 일치되는 필드 작성

그림 3. 컬렉션 시작 - 문서 추가 화면
그림 3. 컬렉션 시작 - 문서 추가

✦⑧ 필드 ✦⑨ 유형 ✦⑩ 샘플 값 설명
card_id string SH_01 카드 고유 번호
card_name string  Mr.Life 카드 이름
card_type string  신용 카드 분류
card_company string  신한 카드사
card_brand
array 국내;S&;VISA 브랜드
image_url string  https://... 이미지 URL
fee_kr number 15000 연회비 국내
fee_global number 18000 연회비 해외
is_active boolean true 활성 여부

 

TIP 필드 유형(타입) 가이드

유형(타입) 설명 예시
string 텍스트 카드명, URL, ID 등
number 숫자 반드시 숫자 단독 입력
금액, 비율, 포인트 등
boolean true/false on/off, 공개 여부 등
array 여러 값을 하나의 필드에 저장 태그 목록 ["카페", "점심"]
timestamp 날짜/시간 2030-10-03 23:11
map 하나의 필드 안에 구조화된 객체 (JSON 객체) { amount: 3000, unit: "원" }

 

3-3. 가장 흔한 실수

  • 숫자를 따옴표를 붙여 string으로 입력  ❌ "3"  ⭕ 3
  • 빈 값을 "-", N/A 등 string으로 입력 ❌ "-"  ⭕ null (엑셀에서는 비워두기)
  • 여러 값인데 string으로 선택 ❌ 유형 string  ⭕ 유형 array 

 

 

 

Step 4. 첫 카드 저장하기

4-1. 저장 버튼 클릭

  • (그림 3)  ✦⑫ 저장 버튼 클릭

 

4-2. 생성된 문서 확인

  • (그림 4) card_master 컬렉션에 ✦⑬ "Mr.Life 신용카드" 문서가 완성되었어요!

그림 4. card_master 컬렉션 화면
그림 4. card_master 컬렉션

 

4-3. 추가 문서 만들기

  • FlutterFlow 연동을 위해 최소 3개의 데이터 필요 
  • 같은 방법으로 문서 2개 더 만들기 완벽하지 않아도 나중에 수정 가능!
  • (그림 4) ✦⑭ 문서 추가 버튼 클릭
TIP 대량의 데이터도 이렇게 만들어요?
데이터를 직접 넣어보며 "필드 유형(타입)"을 구분하고, 익히기 위해 Firestore Console을 사용했습니다.
대량 데이터 업로드 방법은 #5편에서 설명하니 기대해주세요!

 

 

 

✅ 완료 체크리스트

[  ] Firestore Console에서 card_master 컬렉션 생성
[  ] 첫 문서에 필드(card_id, card_name 등) 추가
[  ] 필드 유형(string, number, boolean)을 올바르게 설정
[  ] 샘플 카드 데이터 2~3개 입력 완료
[  ] 컬렉션/문서/필드 구조를 이해함

 

 

디자이너를 위한 요약

Firestore는 엑셀이 아니라 '구조화된 JSON'이다.
필드 타입이 명확해야 앱이 데이터를 제대로 읽는다.
손으로 입력하며 익힌 감각이 나중에 자동화의 기준이 된다.

 



다음 글

✦ 디자이너(비개발자)를 위한 Firestore 셋업

├ 1 ✦ 설계·타입·관계·보안규칙 기본 개념 완료

├ 2 ✦ Database 만들기와 버전/위치/모드 선택 완료

├ 3 ✦ 첫 데이터 넣기: Static 컬렉션 실습 완료

├ 4 ✦ DB의 문지기, 보안 규칙 작성
└ 5 ✦ 한 번에 채우는 데이터 + FlutterFlow 활용

 

지금까지 만든 card_master는 누구나 읽고 쓸 수 있는 상태예요. 실제 서비스에서는 매우 위험하죠.
프로덕션 모드로 만들었지만, 보안 규칙이 없으면 의미가 없어요. 다음 편에서 마무리합니다 

 

DB의 문지기, 보안 규칙 작성 ✦ Firestore 셋업 #4

안녕하세요! ARCOA 지안입니다. 👋 지난 글에서 card_master 컬렉션을 만들고 데이터를 넣었는데요, 지금 이 데이터는 누구나 읽고 쓸 수 있는 상태예요. 프로덕션 모드면 안전하지 않아? 프로덕션

dev.arcoa.kr