청년이 정책·혜택을 쉽게 이해하고 바로 활용할 수 있는 AI 기반 블로그 자동 생성 플랫폼 구축
- 정책 정보 수집: 정부 및 공공기관의 정책·제도 정보를 유레카박스(CMS)를 통해 자동 수집
- AI 기반 변환: LLM을 활용하여 복잡한 행정 용어를 청년 친화적 언어로 자동 변환
- 콘텐츠 자동 생성: 변환된 내용을 바탕으로 블로그 포스트 자동 생성 및 배포
blog-platform/
├── frontend/
│ └── web-client/ # React 웹 클라이언트 (TypeScript)
└── backend/
└── api-server/ # FastAPI 서버 (Python)
- React 19 + TypeScript
- Vite
- TailwindCSS
- Zustand (상태 관리)
- Tanstack Query
- Python 3.11+
- FastAPI
- UV (Python 패키지 매니저)
- Node.js 20.x 이상
- Yarn 1.22.x
# 버전 확인
node --version # v20.x.x 이상
yarn --version # 1.22.x
# Yarn 설치 (미설치시)
npm install -g yarn- Python 3.11 이상
- UV (Python 패키지 매니저)
# 버전 확인
python --version # Python 3.11.x 이상
uv --version
# UV 설치
curl -LsSf https://astral.sh/uv/install.sh | sh
# 또는
pip install uvgit clone <repository-url>
cd blog-platformFrontend (frontend/web-client/.env)
cp frontend/web-client/.env.example frontend/web-client/.envVITE_APP_VERSION=1.0.0
VITE_API_BASE_URL=http://localhost:8000
VITE_ENV=development
Backend (backend/api-server/.env)
cp backend/api-server/.env.example backend/api-server/.envVERSION=1.0.0
API_KEY=your-secret-api-key
NODE_ENV=development
WEB_ORIGIN=http://localhost:5173
# Frontend 의존성
yarn install
# Backend 의존성
yarn api:install# Terminal 1: Frontend
yarn web:dev # http://localhost:5173
# Terminal 2: Backend
yarn api:dev # http://localhost:8000| 명령어 | 설명 |
|---|---|
yarn web:dev |
개발 서버 실행 |
yarn web:build |
프로덕션 빌드 |
yarn web:preview |
빌드 결과 미리보기 |
yarn web:lint |
린트 검사 |
yarn web:lint:fix |
린트 오류 자동 수정 |
| 명령어 | 설명 |
|---|---|
yarn api:dev |
API 서버 실행 |
yarn api:lint |
린트 검사 |
yarn api:lint:fix |
린트 오류 자동 수정 |
yarn api:format |
코드 포맷팅 |
yarn api:install |
의존성 설치 |
| 명령어 | 설명 |
|---|---|
yarn format |
전체 코드 포맷팅 |
yarn format:js |
Frontend 포맷팅 |
yarn format:py |
Backend 포맷팅 |
yarn lint:fix |
전체 린트 오류 자동 수정 |
yarn clean |
캐시 및 빌드 파일 정리 |
main # 프로덕션
└── develop # 개발 통합
├── feature/* # 새 기능
├── hotfix/* # 긴급 수정
└── release/* # 릴리스 준비
main: 프로덕션 배포용 (항상 안정적)develop: 개발 통합 브랜치feature/*: 새 기능 개발hotfix/*: 긴급 버그 수정release/*: 릴리스 준비
git checkout develop
git pull origin develop
git checkout -b feature/기능명git add .
git commit -m "type: description"커밋 타입
feat: 새 기능fix: 버그 수정docs: 문서 수정style: 코드 스타일 변경refactor: 코드 리팩토링test: 테스트 추가/수정chore: 빌드 설정 등
yarn format
yarn lint:fixgit checkout develop
git pull origin develop
git checkout feature/기능명
git rebase developgit push origin feature/기능명
# GitHub에서 PR 생성: feature/기능명 → develop필수 검사 항목
- 코드 포맷팅 완료 (
yarn format) - 린트 오류 수정 완료 (
yarn lint:fix) - 로컬 환경 정상 작동 확인
- 브라우저 콘솔 에러 없음
- 테스트 작성 완료
- develop 브랜치와 충돌 없음
| 서비스 | URL | 설명 |
|---|---|---|
| Frontend | http://localhost:5173 | React 개발 서버 |
| Backend API | http://localhost:8000 | FastAPI 서버 |
| API Docs (Swagger) | http://localhost:8000/docs | Swagger UI |
| API Docs (ReDoc) | http://localhost:8000/redoc | ReDoc UI |
| Health Check | http://localhost:8000/api/health | 서버 상태 확인 |
# Frontend 포트 변경
yarn web:dev --port 3000
# Backend 포트는 main.py에서 수정# Frontend
rm -rf frontend/web-client/node_modules
yarn install --force
# Backend
rm -rf backend/api-server/.venv
yarn api:install.env파일이 올바르게 설정되었는지 확인.env.example파일과 비교하여 누락된 변수 확인- 환경변수 변경 후 서버 재시작 필요