Week 2
Mobile Expansion & Market Ready
모바일 앱 확장, 디버깅, 마케팅 - Firebase + Claude Code
사전 준비사항
- Claude Code 설치 (유료 구독 필요)
- GitHub 계정 생성 (Firebase 배포용)
- VS Code 설치
게스트 강의
지용구 대표 - 플랫폼 전략 소개
모바일 앱 시장에서 성공하기 위한 플랫폼 전략과 사용자 확보 방법론
학습 목표
Claude Code 마스터
터미널에서 AI와 대화하며 코드를 작성하는 Claude Code 사용법을 익힙니다.
Firebase 백엔드
데이터베이스, 인증, 배포를 한 번에 해결하는 Firebase를 설정합니다.
모바일 최적화
PWA와 반응형 디자인으로 모바일에서도 잘 작동하는 앱을 만듭니다.
마케팅 준비
SEO 설정과 메타데이터로 검색 엔진에 노출될 준비를 합니다.
Claude Code 설치 및 설정
Git 설치 (필수)
Claude Code는 Git과 함께 작동합니다. 먼저 Git을 설치하세요.
# Windows (PowerShell에서) winget install --id Git.Git -e --source winget # macOS (Terminal에서) brew install git # 설치 확인 git --version
Claude Code 설치
# npm으로 전역 설치 npm install -g @anthropic-ai/claude-code # 설치 확인 claude --version
Tip: Claude Code는 Anthropic의 유료 서비스입니다. 구독이 필요합니다.Claude Code 실행
# 프로젝트 폴더에서 실행 cd my-project claude # 권한 확인 생략하고 실행 (더 빠름) claude --dangerously-skip-permissions
Firebase 프로젝트 설정
Firebase Console에서 프로젝트 생성
- Firebase Console 접속
- Google 계정으로 로그인
- "프로젝트 추가" 클릭
- 프로젝트 이름 입력 (예: mind-diary-app)
- Google Analytics 활성화 (추천)
Tip: Next.js에서 SSR을 사용하려면 Blaze 요금제(종량제)가 필요합니다. 무료 할당량이 충분해서 소규모 프로젝트는 거의 무료입니다.Firebase CLI 설치 및 로그인
# Firebase CLI 설치 npm install -g firebase-tools # 설치 확인 firebase --version # Firebase 로그인 (브라우저가 열림) firebase login # 프로젝트 목록 확인 firebase projects:list
프로젝트에 Firebase 연결
# 프로젝트 폴더에서 실행 firebase init # 선택 사항: # - Firestore: Yes (데이터베이스) # - Hosting: Yes (웹 호스팅) # - Functions: 선택사항 (서버리스 함수) # - 프로젝트: 방금 만든 프로젝트 선택
마음일기 v2: Firebase 버전
Claude Code로 Firebase 연동하기
Claude Code에게 다음과 같이 요청합니다:
Claude Code 프롬프트
"마음일기 앱에 Firebase를 연동해줘. Firestore에 일기를 저장하고, Firebase Auth로 Google 로그인을 구현해줘. 사용자별로 일기를 분리해서 저장하고, 지난 일기 목록을 볼 수 있게 해줘."
Firestore 데이터 구조
// 컬렉션 구조
users/
{userId}/
diaries/
{diaryId}/
content: "오늘 일기 내용..."
emotion: "happy"
emotionScore: 8
feedback: "AI 피드백..."
createdAt: timestamp
updatedAt: timestampFirebase Auth 설정
// Firebase Console에서
// Authentication > Sign-in method > Google 활성화
// 코드에서 Google 로그인
import { signInWithPopup, GoogleAuthProvider } from 'firebase/auth';
const provider = new GoogleAuthProvider();
const result = await signInWithPopup(auth, provider);
const user = result.user;모바일 최적화
반응형 디자인 체크리스트
- 뷰포트 메타 태그 설정
- 터치 타겟 크기 최소 44px
- 폰트 크기 16px 이상 (확대 방지)
- 가로 스크롤 제거
- 이미지 최적화 (next/image 사용)
PWA 설정
manifest.json을 추가하면 앱처럼 설치할 수 있습니다:
// public/manifest.json
{
"name": "마음일기",
"short_name": "마음일기",
"start_url": "/",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#667eea",
"icons": [
{ "src": "/icon-192.png", "sizes": "192x192", "type": "image/png" },
{ "src": "/icon-512.png", "sizes": "512x512", "type": "image/png" }
]
}배포하기
# 빌드 npm run build # Firebase 배포 firebase deploy # 또는 hosting만 배포 firebase deploy --only hosting # 배포 완료! URL 확인 # https://프로젝트ID.web.app
배포 전 체크리스트:
- 환경 변수(.env.local)가 .gitignore에 있는지 확인
- API 키가 코드에 노출되지 않았는지 확인
- Firestore 보안 규칙 설정
이번 주 과제
- 마음일기 v2를 Firebase와 연동하여 배포하기
- Google 로그인 기능 추가하기
- 모바일에서 테스트하고 문제점 수정하기
- (도전) 지난 일기를 시각화하는 감정 차트 추가하기