프로젝트 진행 가이드 - Team-likelion-3rd-Project/likelion-devops-7th-3rd-Instructor GitHub Wiki

하이브리드 클라우드 프로젝트 진행 가이드

멋쟁이사자처럼 DevOps 7기 3차 프로젝트 · 전체 수강생 오리엔테이션 자료 기간: 2026-10-05(월) ~ 2026-11-13(금) · 6주 스프린트 · 4개 팀 (공식 시작 10/07(수))


1. 이 프로젝트에서 얻어 가는 것

이번 프로젝트의 목표는 "기능을 많이 만드는 것"이 아니라 하나의 애플리케이션을 온프레미스에서 클라우드까지 직접 옮기며 배포를 자동화해 보는 것입니다.

채용 담당자가 DevOps·클라우드 신입에게 묻는 질문은 대부분 이것입니다.

  • 서버를 직접 구성해 봤나요? (리눅스, 쿠버네티스)
  • 배포를 자동화해 봤나요? (CI/CD)
  • 인프라를 코드로 관리해 봤나요? (Terraform)
  • 장애가 나면 어떻게 복구하나요? (롤백, 백업)
  • 성능 문제를 숫자로 개선해 봤나요? (부하 테스트)

6주가 끝나면 이 다섯 질문에 내가 직접 한 일과 근거(이슈, PR, 위키, 그래프) 로 답할 수 있어야 합니다.


2. 주제와 전체 흐름

주제: 하이브리드 클라우드 환경 구축 및 애플리케이션 배포

주차 단계 환경 핵심
1주차 설계·기획 — 배포·롤백 정책, 장애·성능 시나리오
2주차 온프레미스 구축 VM + kubeadm 멀티노드 Docker 이미지 기반 개발환경
3주차 온프레미스 CI/CD VM 클러스터 GitHub Actions 배포 자동화
4주차 클라우드 3Tier AWS EC2 + kubeadm 운영(main) 배포
5주차 IaC 마이그레이션 Terraform → EKS / ECS 완전 자동화
6주차 검증·발표 — 시나리오 실행, 발표자료

같은 애플리케이션을 환경만 바꿔 가며 세 번 배포합니다. 매번 "전에 손으로 하던 것"을 자동화로 바꾸는 것이 핵심입니다.


3. 6주 로드맵 (마일스톤)

스프린트는 월요일에 시작해 금요일에 끝납니다. 마감일(금)은 팀장 스크럼 마감 미팅(16:00)에서 결과를 보고하는 날입니다.

1주차(10/05 ~ 10/09) 스프린트는 팀 활동으로 진행하는 기획·설계 단계입니다. 10/05(월)은 개천절 대체공휴일, 프로젝트 공식 시작은 10/07(수), 10/09(금)은 한글날(공휴일)입니다.

마일스톤 기간 할 일 완료 기준
M1. 설계·기획 10/05(월) ~ 10/09(금) 애플리케이션·인프라 구성 설계, 배포 정책, 롤백 정책, 장애 시나리오(백업/복구), 퍼포먼스 테스트 시나리오(성능 개선) 작성 설계 문서 위키 등록 (System Architecture, 배포 가이드, 장애 시나리오, 성능 테스트)
M2. 온프레미스 환경 구축 10/12(월) ~ 10/16(금) VM에 리눅스 설치, 개발환경 세팅, kubeadm 멀티노드 클러스터, Docker 이미지 기반 개발환경 전환 kubectl get nodes 멀티노드 확인, 앱이 Docker 이미지로 VM 클러스터에서 실행
M3. 온프레미스 CI/CD 배포 자동화 10/19(월) ~ 10/23(금) GitHub Actions로 빌드 → 이미지 push → VM kubeadm 클러스터 배포 자동화 develop push 시 VM 클러스터 자동 배포
M4. 클라우드 3Tier(AWS Console) & 운영 배포 10/26(월) ~ 10/30(금) AWS Console로 3Tier 아키텍처, EC2 기반 kubeadm 구성, 운영환경(main) 클라우드 CI/CD 배포 main 머지 시 EC2 클러스터 자동 배포, 3Tier 접속 확인
M5. Terraform EKS/ECS 마이그레이션 & 완전 자동화 11/02(월) ~ 11/06(금) Terraform으로 EKS/ECS 이전, CI/CD에 Terraform 연동, Frontend·Backend 완전 자동화 terraform apply로 환경 생성, push부터 배포까지 수동 작업 없음
M6. 시나리오 검증 & 발표자료 11/09(월) ~ 11/13(금) 1주차에 설계한 롤백·백업/복구·성능 테스트 시나리오 실행, 결과 정리, 발표자료 작성 시나리오별 결과 위키 등록, 발표자료 완성

1주차에 쓴 설계를 6주차에 실제로 검증합니다. 1주차 설계를 대충 쓰면 6주차에 검증할 것이 없습니다.

3-1. 역할별 마일스톤 (팀당 4명)

팀원 4명이 온프레미스(ON) · 클라우드(CL) · 백엔드(BE) · 프론트엔드(FE) 를 하나씩 맡습니다. 위 M1~M6은 팀 전체의 주간 목표이고, 아래는 그 목표를 위해 역할마다 그 주에 할 일입니다.

  • 기준 앱: 자바 과정에서 만든 커뮤니티 게시판(Spring Boot · MySQL · Redis · JWT · Spring AI). 새 기능은 만들지 않고, 운영에 필요한 변경(헬스체크·정상 종료·설정 외부화 등)만 합니다.
  • 하이브리드 구성: 온프레미스 = 개발·검증 환경(develop), 클라우드 = 운영 환경(main).
  • GitHub 운영: 마일스톤은 M1~M6 그대로 쓰고, 이슈에 역할 라벨 role/onprem role/cloud role/backend role/frontend 를 붙입니다. 진행보드에서 라벨로 걸러 보면 역할별 진행 상황이 보입니다.
  • 일감 예시: 조직 Projects의 진행보드 템플릿에 아래 일정을 카드 100장(역할별 23장 + 공통 8장)으로 넣어 두었습니다. 카드마다 날짜·완료 조건·선행 작업·관련 강의 일차가 있고, Convert to issue로 팀 레포 이슈로 바꿔 씁니다.

한눈에 보기

주차 온프레미스 (ON) 클라우드 (CL) 백엔드 (BE) 프론트엔드 (FE)
1주차
10/05~10/09
ON1 온프레미스 설계
10/07 VM·네트워크 설계
CL1 AWS 3Tier 설계
10/08 구성도·비용표
BE1 API·데이터 설계
10/07 기준 앱 확정
FE1 화면·흐름 설계
10/08 정적 분리 결정
2주차
10/12~10/16
ON2 VM·kubeadm 구축
10/15 K8s 클러스터 배포
CL2 계정·네트워크 기반
10/13 콘솔로 VPC 구성
BE2 컨테이너 대응
10/14 헬스체크 추가
FE2 정적 프론트 분리
10/15 Nginx로 배포
3주차
10/19~10/23
ON3 온프레미스 CI/CD
10/20 develop 자동 배포
CL3 데이터 계층·CI 권한
10/20 RDS·Redis 접속
BE3 테스트·DB 마이그레이션
10/21 Flyway V1
FE3 프론트 CI/CD
10/22 파이프라인 합류
4주차
10/26~10/30
ON4 개발 환경 운영
10/27 모니터링 구축
CL4 AWS 3Tier 운영 배포
10/27 main → EC2 배포
BE4 운영 환경 대응
10/29 메트릭 노출
FE4 클라우드 웹 계층
10/27 CloudFront·HTTPS
5주차
11/02~11/06
ON5 하이브리드 통합
11/03 한 차트로 두 환경
CL5 Terraform EKS/ECS
11/05 무인 배포
BE5 무중단·확장 대응
11/05 요청 실패 0 측정
FE5 배포 자동화·성능
11/03 캐시 무효화 자동
6주차
11/09~11/13
ON6 장애·복구 검증
11/10 etcd 복구 리허설
CL6 장애·확장 검증
11/09 HPA 확장 관찰
BE6 성능·장애 검증
11/09 k6 측정
FE6 사용자 관점 검증
11/12 데모 리허설

온프레미스 (ON1~ON6) — 개발·검증 환경을 맡습니다 (develop 배포).

마일스톤 기간 요일별 작업 (화·목 = 배포일) 완료 기준
ON1. 온프레미스 설계 1주차 10/05~10/09 수 10/07 · VM 구성·네트워크 설계
목 10/08 · 런타임·CNI 선택, 백업 대상
목 10/08 · 온프레미스 배포·롤백 정책
위키에 온프레미스 설계 등록
ON2. VM·kubeadm 구축 2주차 10/12~10/16 월 10/12 · VM 3대 설치·공통 설정
화 10/13 · compose로 앱 첫 배포
수 10/14 · kubeadm·CNI·metrics-server
목 10/15 · 매니페스트·Ingress 배포
노드 3대 Ready, Pod 자동 복구
ON3. 온프레미스 CI/CD 3주차 10/19~10/23 월 10/19 · self-hosted runner 등록
화 10/20 · GHCR 이미지 → 자동 배포
수 10/21 · 롤백 리허설 (BE·FE와)
목 10/22 · Secret 정리·실패 알림
develop 자동 배포, 롤백 기록
ON4. 개발 환경 운영 4주차 10/26~10/30 월 10/26 · develop→온프렘, main→클라우드
화 10/27 · Prometheus·Grafana
수 10/28 · etcd·MySQL 정기 백업
목 10/29 · 대시보드·알림 점검
지표 대시보드, 백업 파일 확인
ON5. 하이브리드 통합 5주차 11/02~11/06 월 11/02 · Helm 차트 통일 (온프렘 values)
화 11/03 · 한 차트로 두 환경 배포
수 11/04 · 온프레미스 백업 → S3
목 11/05 · 노드 점검 절차(drain)
한 차트로 배포, S3 백업 도착
ON6. 장애·복구 검증 6주차 11/09~11/13 월 11/09 · 워커 노드 다운 시험
화 11/10 · etcd 복구 리허설
수 11/11 · MySQL 백업 복원
목 11/12 · 온프렘 vs 클라우드 비교
시나리오별 복구 시간 등록

클라우드 (CL1~CL6) — 운영 환경을 맡습니다 (main 배포).

마일스톤 기간 요일별 작업 (화·목 = 배포일) 완료 기준
CL1. AWS 3Tier 설계 1주차 10/05~10/09 수 10/07 · VPC·서브넷 설계 (AZ 2개)
목 10/08 · 3Tier 구성도
목 10/08 · 비용 추정·IAM 최소 권한
위키에 구성도·비용표 등록
CL2. 계정·네트워크 기반 2주차 10/12~10/16 월 10/12 · MFA·IAM·예산 알림
화 10/13 · 콘솔로 VPC·서브넷
수 10/14 · 라우팅·IGW·NAT
목 10/15 · 보안그룹 계층 설계
VPC 기본망, 예산 알림 수신
CL3. 데이터 계층·CI 권한 3주차 10/19~10/23 월 10/19 · RDS·ElastiCache 생성
화 10/20 · VPC 내부 접속 확인
수 10/21 · Actions OIDC → AWS 역할
목 10/22 · CI 재사용 구조 합의
DB 접속, Actions AWS 인증
CL4. AWS 3Tier 운영 배포 4주차 10/26~10/30 월 10/26 · EC2에 kubeadm 클러스터
화 10/27 · main 머지 → EC2 배포
수 10/28 · ALB·HTTPS·보안그룹
목 10/29 · RDS 스냅샷·로그 수집
운영 주소에서 한 바퀴 동작
CL5. Terraform EKS/ECS 5주차 11/02~11/06 월 11/02 · state 백엔드·VPC·DB 코드화
화 11/03 · EKS(ECS)·ECR·Secrets
수 11/04 · HPA·노드 오토스케일
목 11/05 · PR→plan/apply→배포
apply로 재생성, 수동 작업 0
CL6. 장애·확장 검증 6주차 11/09~11/13 월 11/09 · k6 부하 중 HPA 관찰
화 11/10 · RDS 스냅샷 복원
수 11/11 · 노드 장애 가정 시험
목 11/12 · 비용 정리·destroy 리허설
확장·복원·비용 위키 등록

백엔드 (BE1~BE6) — 자바 과정에서 만든 게시판을 운영 가능한 API로 다듬습니다.

마일스톤 기간 요일별 작업 (화·목 = 배포일) 완료 기준
BE1. API·데이터 설계 1주차 10/05~10/09 수 10/07 · 기준 앱 확정·테스트 초록
목 10/08 · API 명세·ERD 위키 등록
목 10/08 · 환경 변수·헬스체크 합의
위키에 API·ERD 등록
BE2. 컨테이너 대응 2주차 10/12~10/16 월 10/12 · 로그 stdout·설정 외부화
화 10/13 · compose 배포 지원
수 10/14 · Actuator probe·정상 종료
목 10/15 · CORS·쿠키(SameSite)
probe 통과, 분리 화면 로그인
BE3. 테스트·DB 마이그레이션 3주차 10/19~10/23 월 10/19 · 통합 테스트 (MySQL·Redis)
화 10/20 · CI 테스트 = 머지 조건
수 10/21 · schema.sql → Flyway V1
목 10/22 · /actuator/info 커밋 SHA
CI 게이트, 마이그레이션 자동
BE4. 운영 환경 대응 4주차 10/26~10/30 월 10/26 · RDS·ElastiCache 연결 검증
화 10/27 · 운영 배포 지원
수 10/28 · 풀 크기·스케줄러 락·캐시
목 10/29 · Prometheus 메트릭
레플리카 2개 이상 정상 동작
BE5. 무중단·확장 대응 5주차 11/02~11/06 월 11/02 · 무상태 점검 (HPA 대비)
화 11/03 · AI·외부 호출 타임아웃
수 11/04 · 하위 호환 스키마 변경
목 11/05 · 롤링 배포 중 실패율 측정
롤링 배포 중 요청 실패 0
BE6. 성능·장애 검증 6주차 11/09~11/13 월 11/09 · k6 시나리오 4종 측정
화 11/10 · Redis·AI 중단 시 동작
수 11/11 · 병목 1개 개선
목 11/12 · 재측정·발표 자료
개선 전→후 수치 등록

프론트엔드 (FE1~FE6) — 화면을 정적 프론트로 분리하고 웹 계층을 맡습니다.

마일스톤 기간 요일별 작업 (화·목 = 배포일) 완료 기준
FE1. 화면·흐름 설계 1주차 10/05~10/09 수 10/07 · 화면 목록·사용자 흐름
목 10/08 · 화면↔API 매핑표
목 10/08 · 정적 프론트 분리 결정
위키에 화면·흐름 등록
FE2. 정적 프론트 분리 2주차 10/12~10/16 월 10/12 · frontend/ 폴더 분리
화 10/13 · api.js 환경별 주소
수 10/14 · Nginx 컨테이너·/api 프록시
목 10/15 · VM 클러스터에 배포
분리 화면에서 로그인·글쓰기
FE3. 프론트 CI/CD 3주차 10/19~10/23 월 10/19 · 린트·포맷 검사
화 10/20 · Nginx 이미지 빌드 (SHA)
수 10/21 · 캐시 무력화 (파일 버전)
목 10/22 · 배포 파이프라인 합류
develop push 시 자동 배포
FE4. 클라우드 웹 계층 4주차 10/26~10/30 월 10/26 · S3에 정적 파일 배포
화 10/27 · CloudFront·HTTPS·도메인
수 10/28 · 쿠키·CORS 백엔드 합의
목 10/29 · 4상태 화면 운영 점검
운영 도메인에서 전 화면 동작
FE5. 배포 자동화·성능 5주차 11/02~11/06 월 11/02 · S3 업로드 자동화
화 11/03 · CloudFront 무효화 자동
수 11/04 · Terraform에 S3·CloudFront
목 11/05 · Lighthouse 측정·개선
push→무효화까지 무인 실행
FE6. 사용자 관점 검증 6주차 11/09~11/13 월 11/09 · API 장애 시 화면 동작
화 11/10 · AI 실패해도 글 표시
수 11/11 · Lighthouse 전→후 비교
목 11/12 · 데모 시나리오 리허설
데모 리허설 1회 완주

1주차는 10/05(월) 대체공휴일(개천절)과 10/09(금) 한글날이 있어, 10/07(수)·10/08(목) 이틀만 작업합니다. 1주차에는 배포가 없습니다.


4. 회의와 일정

4-1. 매일

오전 스크럼 뒤 10:00 ~ 11:50 은 강의·모의면접 등으로 활용하는 자율 시간입니다.

시간 회의 참석 하는 일
09:10 ~ 09:40 오전 스크럼 팀 전원 어제 한 일 / 오늘 할 일 / 막힌 것. 보드를 띄워 놓고 진행
10:00 ~ 11:50 강의 · 모의면접 등 자율 시간 개인 / 팀 강의 수강, 모의면접, 개인 학습 등 각자 계획에 따라 활용
17:00 ~ 18:00 프로젝트 회고 팀 전원 오늘 결과 공유, 막힌 문제 정리, 내일 계획. 결정 사항은 회의록 이슈로 기록

4-2. 매주

요일 시간 일정 참석
월 14:00 team01 프로젝트 진행 미팅 team01 + 강사
월 16:00 팀장 스크럼 주간 미팅 (이번 주 목표 공유) 팀장 + 강사
화 — 배포일 팀 전원
화 14:00 team02 프로젝트 진행 미팅 team02 + 강사
수 14:00 team03 프로젝트 진행 미팅 team03 + 강사
목 — 배포일 팀 전원
목 14:00 team04 프로젝트 진행 미팅 team04 + 강사
금 16:00 팀장 스크럼 마감 미팅 (이번 주 결과·이슈 보고) 팀장 + 강사

4-3. 한 주 시간표

시간 월 화 수 목 금
09:10 오전 스크럼 오전 스크럼 오전 스크럼 오전 스크럼 오전 스크럼
10:00 ~ 11:50 자율 시간 자율 시간 자율 시간 자율 시간 자율 시간
14:00 team01 진행 미팅 team02 진행 미팅 team03 진행 미팅 team04 진행 미팅
16:00 팀장 주간 미팅 팀장 마감 미팅
17:00 회고 회고 회고 회고 회고
배포일 배포일

1주차 공휴일: 10/05(월) 대체공휴일(개천절) · 10/09(금) 한글날. 1주차 팀장 주간·마감 미팅은 별도로 공지합니다.

4-4. 배포일 (화·목)

  • 배포는 화요일과 목요일에만 합니다. 다른 날에는 develop에서 개발하고 검증만 합니다.
  • 배포일에 develop → main PR을 머지하고 배포 환경에 반영합니다.
    • 1주차: 배포 없음 (설계·기획)
    • 2~3주차: 온프레미스 VM 클러스터
    • 4주차: AWS EC2 클러스터
    • 5~6주차: Terraform으로 만든 EKS/ECS
  • main PR은 승인 2명 + 코드 오너 승인이 있어야 머지됩니다. 배포일 전에 리뷰를 미리 받아 두세요.
  • 배포 후 회고 미팅에서 결과를 공유합니다. 실패하면 롤백 정책대로 되돌리고 트러블슈팅 이슈로 남깁니다.

5. GitHub 작업 공간

모든 작업은 GitHub 조직 Team-likelion-3rd-Project 안에서 합니다.

레포 팀
likelion-devops-7th-3rd-Instructor 강사
likelion-devops-7th-3rd-team01 team-01
likelion-devops-7th-3rd-team02 team-02
likelion-devops-7th-3rd-team03 team-03
likelion-devops-7th-3rd-team04 team-04

레포마다 아래 항목이 미리 준비되어 있습니다.

구성 내용
이슈 템플릿 5종 기능 개발 [FEAT] · 버그 [BUG] · 트러블슈팅 [TS] · 문서 [DOCS] · 회의록 [MEETING]
PR 템플릿 관련 이슈, 작업 내용, 변경 유형, 스크린샷, 리뷰 포인트, 체크리스트
라벨 26개 유형(feat, fix…) · 영역(area/infra…) · 우선순위(P0~P3) · 상태(blocked, in-review…) · 역할(role/onprem·cloud·backend·frontend)
마일스톤 M1 ~ M6 (위 로드맵, 팀 주간 목표) · 역할별 할 일은 role/* 라벨로 구분
진행보드 Backlog → Ready → In progress → In review → Done · 진행보드 템플릿에 역할·스프린트 필드와 역할별 6주 일감 100장(예시)
위키 기획 배경, 아키텍처, API 명세, 배포 가이드, 장애 시나리오, 성능 테스트, 회의록, 트러블슈팅
가이드 문서 CONTRIBUTING.md(규칙 요약), docs/GUIDE.md(명령어까지 전부 적힌 실행 가이드)

6. 작업 한 사이클

이슈 생성 → 보드 Ready → 브랜치 생성 → 커밋 → Draft PR → Ready for review → 리뷰·승인 → Squash 머지 → 이슈 자동 종료
  1. 이슈부터 만듭니다. 이슈 없는 작업은 없습니다. 세부 작업 하나가 2시간을 넘으면 더 쪼갭니다.
  2. 보드에서 상태를 옮깁니다. 시작하면 In progress, PR을 올리면 In review.
  3. 브랜치는 develop에서 만듭니다. 이름 규칙: feature/#이슈번호-요약, fix/#이슈번호-요약
  4. 커밋 메시지: feat: 로그인 API 구현 (#12) 처럼 <유형>: <요약> (#이슈번호)
  5. PR은 일찍 올립니다. Draft로 먼저 올려 진행 상황을 공유하고, 끝나면 Ready for review로 바꿉니다.
  6. PR 본문에 Closes #이슈번호 를 적으면 머지될 때 이슈가 자동으로 닫힙니다.

브랜치 보호 규칙

브랜치 직접 push 머지 조건
develop 불가 승인 1명 + 리뷰 코멘트 모두 Resolve
main 불가 승인 2명 + 코드 오너 승인 + 리뷰 코멘트 모두 Resolve

머지 방식은 Squash merge만 허용되고, 머지된 작업 브랜치는 자동으로 삭제됩니다.


7. 기록이 곧 포트폴리오입니다

면접에서 "그걸 정말 직접 했나요?"라는 질문에 답할 수 있는 것은 기록뿐입니다.

기록 언제 어디에
회의록 매일 회고, 주간 미팅 회의록 이슈 [MEETING] → 위키 회의록 페이지에 링크
트러블슈팅 막힐 때마다 트러블슈팅 이슈 [TS] → 해결 후 위키로 옮기고 닫기
설계 근거 1주차, 구조가 바뀔 때 위키 System Architecture, 배포 가이드
검증 결과 6주차 위키 장애 시나리오, 성능 테스트 (개선 전 → 후 숫자)
내 기여 매일 내 이름으로 된 이슈, PR, 리뷰 코멘트
  • 결정되지 않은 것은 "보류"라고 적습니다. 추측해서 적지 않습니다.
  • 에러 메시지는 캡처나 로그 원문으로 남깁니다. "안 됐다"만 적으면 나중에 아무 쓸모가 없습니다.
  • PR 리뷰도 기여입니다. 다른 사람 PR에 근거 있는 코멘트를 남기세요.

8. 절대 하면 안 되는 것

  • 비밀값 커밋 금지. AWS 키, 비밀번호, .env, *.pem은 절대 올리지 않습니다. 레포가 공개이고, GitHub가 비밀값이 든 push를 차단합니다. 이미 올렸다면 즉시 키를 폐기하고 재발급하세요. 커밋을 지워도 이력에 남습니다.
  • AWS 리소스 방치 금지. 실습이 끝나면 EC2, NAT Gateway, EKS 클러스터 등 과금 리소스를 정리합니다. Terraform으로 만든 것은 terraform destroy로 정리합니다.
  • develop·main에 직접 push 금지. 막혀 있지만, 우회하려 하지 마세요.
  • 혼자 오래 막혀 있지 않기. 30분 이상 진전이 없으면 help-wanted 라벨로 이슈를 만들고 스크럼이나 회고에서 공유합니다.

9. 첫날 체크리스트

개인

  • GitHub 조직 Team-likelion-3rd-Project 초대 수락
  • 자기 팀 레포 clone, git config user.name / user.email 설정 (GitHub 계정 이메일과 동일하게)
  • CONTRIBUTING.md, docs/GUIDE.md 읽기

팀 (팀장 주도)

  • .github/CODEOWNERS의 {{...}} 자리 표시자를 팀원 GitHub ID로 채우기
  • README.md의 {{...}} 채우기 (프로젝트명, 팀 구성, 사용 기술)
  • 진행보드 Workflows → Auto-add to project 켜기 (새 이슈가 보드에 자동 추가)
  • 역할 4개(온프레미스·클라우드·백엔드·프론트엔드) 담당자 정하기
  • M1 이슈 쪼개서 등록하고 담당자·role/* 라벨 지정
  • 첫 회의록 이슈 작성 (역할 분담, 그라운드 룰)

📎 발표 자료 (PDF): 프로젝트-진행-가이드.pdf

⚠️ **GitHub.com Fallback** ⚠️