6부. 세상 밖으로 (Deployment & Capstone)
"개발은 배포 전과 배포 후로 나뉩니다. 이제 내 컴퓨터를 넘어 전 세계와 연결될 시간입니다." Firebase와 GitHub Actions를 활용하여 24시간 중단 없는 AI 수강신청 시스템을 구축하고 운영하는 전 과정을 마스터합니다.
🏫 Visible Thinking: 개발의 여정
graph TD
subgraph "Phase 1. 설계 및 로컬 개발"
Me["👨💻 나 + 🤖 AI"] -->|Coding| Local["🏠 Emulator (Localhost)"]
Local -->|Verify| Git["🐙 GitHub (develop)"]
end
subgraph "Phase 2. 자동 배포 파이프라인"
Git -->|Merge| Actions["⚙️ GitHub Actions"]
Actions -->|Auto Deploy| Cloud["☁️ Firebase Cloud"]
end
subgraph "Phase 3. 세상 밖으로"
Cloud -->|Hosting| Web["🌐 Frontend (React)"]
Cloud -->|Functions| API["⚡ Backend (FastAPI)"]
Web & API -->|Service| World["🌍 전 세계 사용자"]
end
style Cloud fill:#f9f,stroke:#333,stroke-width:2px
style Actions fill:#bbf,stroke:#333,stroke-width:2px
📋 목차
01. 클라우드에 내 집 마련하기 (Setup & Init)
"로컬 환경을 넘어, 전 세계에서 접속 가능한 나만의 시스템 환경을 구축합니다."
- Environment: Node.js, Python, Firebase CLI 개발 환경 조성.
- Project Init: Functions(Python)와 Hosting(React)의 공생 구조 설계.
- Git Strategy: 안정적인 배포를 위한
develop-main브랜치 전략.
02. 똑똑한 백엔드 창고 만들기 (FastAPI & DB)
"Serverless 환경에서도 우리는 강력한 Python 백엔드를 가질 수 있습니다."
- FastAPI Integration: Serverless 환경에서 Python 백엔드를 운영하는 비법(ASGI).
- Firestore Design: 수강신청 데이터를 위한 NoSQL 모델링과 시드 데이터 주입.
- CORS & Safety: 외부의 무단 호출을 막는 최소한의 보안 울타리 치기.
03. 문지기 세우기와 첫 인사 (Auth & MVP)
"단 한 명의 유효한 사용자만 있다면, 그것은 이미 서비스입니다."
- Firebase Auth: "구글 로그인"으로 1초 만에 회원가입 구현하기.
- First Ship: 아무 기능 없어도 괜찮아! 전 세계에서 접속 가능한 내 URL 확인.
- Security: 배포된 사이트에서만 로그인이 작동하도록 승인된 도메인 설정.
04. 내 컴퓨터 안의 가상 서버 (Emulator & TDD)
"배포는 짜릿하지만 위험합니다. 내 컴퓨터에서 먼저 완벽하게 검토하세요."
- Local Emulator: 배포 전, 내 컴퓨터에서 프론트-백-DB를 완벽하게 돌려보기.
- Test Driven: "코드보다 테스트가 먼저!" AI를 활용한 Pytest 자동화.
- Debugging: 에뮬레이터 UI를 통해 데이터 흐름을 눈으로 직접 확인하기.
05. 24시간 일하는 배포 비서 (CI/CD)
"반복적인 배포 작업은 비서(GitHub Actions)에게 맡기고 우리는 코드에 집중합시다."
- GitHub Actions: 코드만 Push하면 빌드부터 배포까지 자동으로 처리하기.
- Secrets: API Key와 인증 정보를 GitHub에 안전하게 숨기는 법.
- Automation: 프론트엔드와 백엔드의 동시 자동 배포 워크플로우 완성.
06. [종합] AI 수강신청 에이전트 완성 (Capstone)
"기획부터 배포까지, AI와 함께 만든 '진짜 결과물'을 세상에 선보입니다."
- AI Agent: Gemini를 연동하여 "대화로 신청하는" 인터페이스 완성.
- Admin Dashboard: 관리자 전용 메뉴와 권한 분리(RBAC) 실습.
- Launch: 실제 사용자를 초대할 수 있는 '완성된 서비스' 런칭쇼.
📚 부록 (Appendix)
- 요구사항 명세서 (Requirements Specification): AI 기반 수강신청 시스템의 기능 및 비기능 요구사항 정리.
- 전체 개발 가이드 (Master Development Guide): 초기 시스템 설정부터 최종 배포까지의 모든 코드와 설정을 요약한 통합 가이드.
📋 6부 핵심 성과물 (Deliverables)
| 단계 | 산출물 | 평가 포인트 |
|---|---|---|
| 준비 | Firebase Project | 로컬과 클라우드 환경이 완벽하게 동기화되었는가? |
| 개발 | FastAPI + React App | 서버리스 환경에서 프론트와 백엔드가 원활히 통신하는가? |
| 배포 | CI/CD Pipeline | 코드 수정 시 자동으로 빌드 및 배포가 이루어지는가? |
| 최종 | AI Agent Service | 사용자가 대화를 통해 수강신청을 완료할 수 있는가? |
🎯 6부 마무리
"여러분의 첫 번째 URL이 생기는 날입니다. 이제 '내 컴퓨터에서만 돼요'라는 핑계는 끝났습니다. 세상이 여러분의 코드를 사용할 차례입니다."