{"id":40233823,"url":"https://github.com/lemoncloud-io/capstone25-t3-kch","last_synced_at":"2026-01-19T23:03:42.439Z","repository":{"id":316720383,"uuid":"1064499200","full_name":"lemoncloud-io/capstone25-t3-kch","owner":"lemoncloud-io","description":"청년 정책·혜택 자동 변환 블로그 플랫폼 - 한성대학교 캡스톤 프로젝트","archived":false,"fork":false,"pushed_at":"2025-11-21T18:46:48.000Z","size":10290,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"develop","last_synced_at":"2025-11-21T20:26:19.064Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lemoncloud-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-26T06:03:09.000Z","updated_at":"2025-11-21T18:46:51.000Z","dependencies_parsed_at":"2025-10-27T08:14:32.045Z","dependency_job_id":"3682c4ea-d86a-441a-886d-cc0b486e3640","html_url":"https://github.com/lemoncloud-io/capstone25-t3-kch","commit_stats":null,"previous_names":["lemoncloud-io/capstone25-t3-kch"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lemoncloud-io/capstone25-t3-kch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemoncloud-io%2Fcapstone25-t3-kch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemoncloud-io%2Fcapstone25-t3-kch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemoncloud-io%2Fcapstone25-t3-kch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemoncloud-io%2Fcapstone25-t3-kch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lemoncloud-io","download_url":"https://codeload.github.com/lemoncloud-io/capstone25-t3-kch/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemoncloud-io%2Fcapstone25-t3-kch/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28588971,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T20:45:59.482Z","status":"ssl_error","status_checked_at":"2026-01-19T20:45:41.500Z","response_time":67,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-19T23:03:41.723Z","updated_at":"2026-01-19T23:03:42.434Z","avatar_url":"https://github.com/lemoncloud-io.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 2025년 2학기 기업연계 AI 캡스톤 디자인 프로젝트 - 한성대\n\n## 프로젝트 개요\n\n### 목표\n청년이 정책·혜택을 쉽게 이해하고 바로 활용할 수 있는 AI 기반 블로그 자동 생성 플랫폼 구축\n\n### 주요 기능\n- **정책 정보 수집**: 정부 및 공공기관의 정책·제도 정보를 유레카박스(CMS)를 통해 자동 수집\n- **AI 기반 변환**: LLM을 활용하여 복잡한 행정 용어를 청년 친화적 언어로 자동 변환\n- **콘텐츠 자동 생성**: 변환된 내용을 바탕으로 블로그 포스트 자동 생성 및 배포\n\n## 프로젝트 구조\n\n```\nblog-platform/\n├── frontend/\n│   └── web-client/     # React 웹 클라이언트 (TypeScript)\n└── backend/          \n    └── api-server/     # FastAPI 서버 (Python)\n```\n\n## 기술 스택\n\n### Frontend\n- React 19 + TypeScript\n- Vite\n- TailwindCSS\n- Zustand (상태 관리)\n- Tanstack Query\n\n### Backend\n- Python 3.11+\n- FastAPI\n- UV (Python 패키지 매니저)\n\n## 시작하기\n\n### 필수 요구사항\n\n#### Node.js \u0026 Yarn\n- Node.js 20.x 이상\n- Yarn 1.22.x\n\n```bash\n# 버전 확인\nnode --version  # v20.x.x 이상\nyarn --version  # 1.22.x\n\n# Yarn 설치 (미설치시)\nnpm install -g yarn\n```\n\n#### Python \u0026 UV\n- Python 3.11 이상\n- UV (Python 패키지 매니저)\n\n```bash\n# 버전 확인\npython --version  # Python 3.11.x 이상\nuv --version\n\n# UV 설치\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n# 또는\npip install uv\n```\n\n### 프로젝트 설치\n\n#### 1. 저장소 클론\n```bash\ngit clone \u003crepository-url\u003e\ncd blog-platform\n```\n\n#### 2. 환경변수 설정\n\n**Frontend** (`frontend/web-client/.env`)\n```bash\ncp frontend/web-client/.env.example frontend/web-client/.env\n```\n```\nVITE_APP_VERSION=1.0.0\nVITE_API_BASE_URL=http://localhost:8000\nVITE_ENV=development\n```\n\n**Backend** (`backend/api-server/.env`)\n```bash\ncp backend/api-server/.env.example backend/api-server/.env\n```\n```\nVERSION=1.0.0\nAPI_KEY=your-secret-api-key\nNODE_ENV=development\nWEB_ORIGIN=http://localhost:5173\n```\n\n#### 3. 의존성 설치\n```bash\n# Frontend 의존성\nyarn install\n\n# Backend 의존성\nyarn api:install\n```\n\n### 개발 서버 실행\n\n#### 빠른 시작\n```bash\n# Terminal 1: Frontend\nyarn web:dev    # http://localhost:5173\n\n# Terminal 2: Backend\nyarn api:dev    # http://localhost:8000\n```\n\n## 주요 명령어\n\n### Frontend 명령어\n| 명령어 | 설명 |\n|--------|------|\n| `yarn web:dev` | 개발 서버 실행 |\n| `yarn web:build` | 프로덕션 빌드 |\n| `yarn web:preview` | 빌드 결과 미리보기 |\n| `yarn web:lint` | 린트 검사 |\n| `yarn web:lint:fix` | 린트 오류 자동 수정 |\n\n### Backend 명령어\n| 명령어 | 설명 |\n|--------|------|\n| `yarn api:dev` | API 서버 실행 |\n| `yarn api:lint` | 린트 검사 |\n| `yarn api:lint:fix` | 린트 오류 자동 수정 |\n| `yarn api:format` | 코드 포맷팅 |\n| `yarn api:install` | 의존성 설치 |\n\n### 공통 명령어\n| 명령어 | 설명 |\n|--------|------|\n| `yarn format` | 전체 코드 포맷팅 |\n| `yarn format:js` | Frontend 포맷팅 |\n| `yarn format:py` | Backend 포맷팅 |\n| `yarn lint:fix` | 전체 린트 오류 자동 수정 |\n| `yarn clean` | 캐시 및 빌드 파일 정리 |\n\n## 개발 워크플로우\n\n### Git Flow 브랜치 전략\n\n```\nmain                    # 프로덕션\n└── develop            # 개발 통합\n    ├── feature/*      # 새 기능\n    ├── hotfix/*       # 긴급 수정\n    └── release/*      # 릴리스 준비\n```\n\n### 브랜치 규칙\n- `main`: 프로덕션 배포용 (항상 안정적)\n- `develop`: 개발 통합 브랜치\n- `feature/*`: 새 기능 개발\n- `hotfix/*`: 긴급 버그 수정\n- `release/*`: 릴리스 준비\n\n### 새 기능 개발 프로세스\n\n#### 1. 브랜치 생성\n```bash\ngit checkout develop\ngit pull origin develop\ngit checkout -b feature/기능명\n```\n\n#### 2. 개발 및 커밋\n```bash\ngit add .\ngit commit -m \"type: description\"\n```\n\n**커밋 타입**\n- `feat`: 새 기능\n- `fix`: 버그 수정\n- `docs`: 문서 수정\n- `style`: 코드 스타일 변경\n- `refactor`: 코드 리팩토링\n- `test`: 테스트 추가/수정\n- `chore`: 빌드 설정 등\n\n#### 3. 코드 품질 검사\n```bash\nyarn format\nyarn lint:fix\n```\n\n#### 4. 브랜치 최신화\n```bash\ngit checkout develop\ngit pull origin develop\ngit checkout feature/기능명\ngit rebase develop\n```\n\n#### 5. Push 및 PR 생성\n```bash\ngit push origin feature/기능명\n# GitHub에서 PR 생성: feature/기능명 → develop\n```\n\n### 코드 리뷰 체크리스트\n\n**필수 검사 항목**\n- [ ] 코드 포맷팅 완료 (`yarn format`)\n- [ ] 린트 오류 수정 완료 (`yarn lint:fix`)\n- [ ] 로컬 환경 정상 작동 확인\n- [ ] 브라우저 콘솔 에러 없음\n- [ ] 테스트 작성 완료\n- [ ] develop 브랜치와 충돌 없음\n\n## 접속 URL\n\n| 서비스 | URL | 설명 |\n|--------|-----|------|\n| Frontend | http://localhost:5173 | React 개발 서버 |\n| Backend API | http://localhost:8000 | FastAPI 서버 |\n| API Docs (Swagger) | http://localhost:8000/docs | Swagger UI |\n| API Docs (ReDoc) | http://localhost:8000/redoc | ReDoc UI |\n| Health Check | http://localhost:8000/api/health | 서버 상태 확인 |\n\n## 문제 해결\n\n### 포트 충돌\n```bash\n# Frontend 포트 변경\nyarn web:dev --port 3000\n\n# Backend 포트는 main.py에서 수정\n```\n\n### 의존성 재설치\n```bash\n# Frontend\nrm -rf frontend/web-client/node_modules\nyarn install --force\n\n# Backend\nrm -rf backend/api-server/.venv\nyarn api:install\n```\n\n### 환경변수 문제\n- `.env` 파일이 올바르게 설정되었는지 확인\n- `.env.example` 파일과 비교하여 누락된 변수 확인\n- 환경변수 변경 후 서버 재시작 필요\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flemoncloud-io%2Fcapstone25-t3-kch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flemoncloud-io%2Fcapstone25-t3-kch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flemoncloud-io%2Fcapstone25-t3-kch/lists"}