{
  "markdown": "# 급식배틀: GitHub Copilot 활용 초중고 급식 메뉴 조회 및 분석 앱 개발 워크숍\n\nNEIS 공개 API를 활용해 초중고 급식 메뉴를 조회하고 AI 에이전트로 분석하는 웹 애플리케이션을 단계별로 구현하는 워크숍입니다. GitHub Copilot과 함께 요구사항 및 API 명세 작성부터 앱 개발, Azure 배포, MCP 서버와 멀티 에이전트 워크플로우 구현까지 진행합니다.\n\n[워크숍 시작하기](docs/00-setup.md) | [전체 커리큘럼 보기](#커리큘럼) | [데모 앱 리포지토리](https://github.com/devkimchi/battle-school-lunch) | [템플릿으로 저장소 만들기](https://github.com/new?template_name=battle-school-lunch-workshop&template_owner=devkimchi)\n\n## 워크숍에서 만드는 것\n\n- 학교와 날짜 범위를 기준으로 급식 메뉴를 조회하는 웹 애플리케이션\n- NEIS 공개 API를 연동하는 백엔드와 사용자 인터페이스\n- Azure 배포 및 GitHub Actions 기반 테스트·배포 자동화\n- 급식 정보 활용을 위한 MCP 서버\n- 평가 루브릭에 따라 두 학교의 급식을 비교하는 멀티 에이전트 워크플로우\n\n## 시작하기\n\n워크숍을 시작하려면 GitHub 및 Azure 계정과 다음 도구가 필요합니다.\n\n- [GitHub Copilot app](https://gh.io/app)\n- [GitHub Copilot CLI](https://gh.io/copilot-cli)\n- [GitHub CLI](https://gh.io/cli)\n- [Azure CLI](https://aka.ms/az-cli)\n- [Azure Developer CLI](https://aka.ms/azd-cli)\n\n이 저장소를 포크하는 대신 템플릿으로 새 저장소를 만든 후 [개발 환경 설정](docs/00-setup.md)의 안내를 따라 진행하세요.\n\n> [!TIP]\n> 바로 시작하려면 [이 템플릿으로 새 저장소를 만드세요](https://github.com/new?template_name=battle-school-lunch-workshop&template_owner=devkimchi).\n\n> [!NOTE]\n> 완성된 애플리케이션을 직접 실행하거나 구현 결과를 비교하려면 [데모 앱 리포지토리](https://github.com/devkimchi/battle-school-lunch)를 참고하세요.\n\n## 커리큘럼\n\n| 단계 | 주제                                                                         |\n|------|------------------------------------------------------------------------------|\n| 00   | [개발 환경 설정](docs/00-setup.md)                                           |\n| 01   | [`openapi.json` 명세 생성](docs/01-generate-openapi.md)                      |\n| 02   | [`AGENTS.md` 문서 생성](docs/02-generate-agents-md.md)                       |\n| 03   | [PRD 및 TRD 생성](docs/03-generate-prd-trd.md)                               |\n| 04   | [앱 개발](docs/04-implement-app.md)                                          |\n| 05   | [`AGENTS.md` 문서 수정](docs/05-update-agents-md.md)                         |\n| 06   | [Azure에 앱 배포](docs/06-deplopy-to-azure.md)                               |\n| 07   | [GitHub Actions로 테스트 및 배포 자동화](docs/07-generate-github-actions.md) |\n| 08   | [MCP 서버 구현](docs/08-implement-mcp.md)                                    |\n| 09   | [에이전트 분석 평가 항목 정의](docs/09-define-evaluation-rubric.md)          |\n| 10   | [멀티 에이전트 워크플로우 구현](docs/10-implement-agent-workflow.md)         |\n| 11   | [데이터베이스 연동](docs/11-integrate-database.md) (작성 예정)               |\n\n## 저장소 구성\n\n| 경로            | 설명                                          |\n|-----------------|-----------------------------------------------|\n| `data/`         | API 명세 작성에 사용하는 원본 데이터          |\n| `docs/`         | 단계별 워크숍 가이드                          |\n| `wiki/`         | 에이전트가 관리하는 지식 문서                 |\n| `code/`         | 구현된 애플리케이션 소스와 실행 관련 파일      |\n| `code/backend/` | FastAPI 기반 내부 API 및 NEIS·LLM 연동        |\n| `code/frontend/`| React·Fluent UI 기반 사용자 인터페이스        |\n| `code/src/openapi.json` | 내부 API 계약(OpenAPI) - 프론트엔드·백엔드 공통 소스 |\n| `code/compose.yaml` | 프론트엔드·백엔드를 함께 빌드·실행하는 Docker Compose 구성 |\n| `code/.env.example` | 실행에 필요한 환경 변수 이름과 설명(실제 비밀값은 미포함) |\n\n워크숍을 새로 시작하는 참가자의 저장소에는 `code/`가 비어 있으며, [앱 개발](docs/04-implement-app.md) 단계를 진행하면서 프론트엔드·백엔드 소스가 생성됩니다.\n\n### 앱 실행하기\n\n1. `code/.env.example`을 `code/.env`로 복사하고 최소한 `NEIS_API_KEY`를 채웁니다.\n2. `code/` 디렉터리에서 `docker compose up --build`로 프론트엔드(`http://localhost:8080`)와\n   백엔드를 함께 실행합니다.\n3. 개별적으로 실행하려면 백엔드는 `cd code/backend && uv sync --extra dev && uv run uvicorn\n   backend.main:app --reload`, 프론트엔드는 `cd code/frontend && npm install && npm run dev`로\n   실행합니다.\n4. 백엔드 테스트는 `cd code/backend && uv run pytest`, 프론트엔드 테스트는\n   `cd code/frontend && npm test`로 실행합니다.\n\n## 추가 학습 자료\n\n- [GitHub Copilot cloud agent 알아보기](https://docs.github.com/copilot/concepts/agents/coding-agent/about-coding-agent)\n- [`AGENTS.md` 작성 가이드와 예제](https://agents.md/)\n- [OpenAPI Specification](https://spec.openapis.org/oas/latest.html)\n- [Azure Developer CLI 문서](https://learn.microsoft.com/azure/developer/azure-developer-cli/)\n- [GitHub Actions 문서](https://docs.github.com/actions)\n- [Model Context Protocol 소개](https://modelcontextprotocol.io/docs/getting-started/intro)\n- [MCP Inspector](https://github.com/modelcontextprotocol/inspector)\n- [Microsoft Agent Framework](https://aka.ms/agentframework)\n\n## 프로젝트 안내\n\n- 질문이나 도움이 필요하면 [지원 안내](SUPPORT.md)를 확인하세요.\n- 프로젝트에 참여하려면 [기여 가이드](CONTRIBUTING.md)와 [행동 강령](CODE_OF_CONDUCT.md)을 확인하세요.\n- 보안 문제는 [보안 정책](SECURITY.md)에 따라 비공개로 신고해 주세요.\n- 이 프로젝트는 [MIT 라이선스](LICENSE)를 따릅니다.\n",
  "bytes": 4468,
  "sha": "2abba45f7fcd34001cf0a41153bf72464e2e36ebbc5dafdc97c5378171d07578",
  "repo_slug": "duc-ke/bsl-pyconkr2",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/okf_duc_ke_bsl_pyconkr2_wiki_index_md_72a4eb6b/readme"
}