Initial commit: OAuth 2.0 인증 시스템 with APISIX API Gateway

- FastAPI 백엔드 + MongoDB + Redis 구성
- React + Vite + TypeScript + shadcn/ui 프론트엔드
- Apache APISIX API Gateway 통합
- Docker Compose 기반 개발 환경
- 3단계 권한 체계 (System Admin, Group Admin, User)
- 동적 테마 지원
- 환경별 설정 (dev/vei/prod)

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Claude
2025-08-31 10:16:41 +09:00
commit f53d55e712
55 changed files with 6798 additions and 0 deletions

71
Makefile Normal file
View File

@ -0,0 +1,71 @@
.PHONY: help up down build restart logs clean
help: ## 도움말 표시
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
up: ## Docker Compose로 모든 서비스 시작
docker-compose up --build
up-d: ## Docker Compose로 백그라운드에서 모든 서비스 시작
docker-compose up -d --build
down: ## 모든 서비스 중지
docker-compose down
down-v: ## 모든 서비스 중지 및 볼륨 삭제
docker-compose down -v
build: ## 모든 이미지 빌드
docker-compose build --no-cache
restart: ## 모든 서비스 재시작
docker-compose restart
logs: ## 모든 서비스 로그 확인
docker-compose logs -f
logs-backend: ## 백엔드 로그 확인
docker-compose logs -f backend
logs-frontend: ## 프론트엔드 로그 확인
docker-compose logs -f frontend
logs-apisix: ## APISIX 로그 확인
docker-compose logs -f apisix
ps: ## 실행 중인 컨테이너 상태 확인
docker-compose ps
exec-backend: ## 백엔드 컨테이너 쉘 접속
docker-compose exec backend /bin/bash
exec-mongo: ## MongoDB 쉘 접속
docker-compose exec mongodb mongosh -u admin -p admin123
exec-redis: ## Redis CLI 접속
docker-compose exec redis redis-cli
clean: ## Docker 시스템 정리 (unused images, containers, volumes)
docker system prune -af --volumes
test-backend: ## 백엔드 테스트 실행
docker-compose exec backend pytest
test-frontend: ## 프론트엔드 테스트 실행
docker-compose exec frontend npm test
format-backend: ## 백엔드 코드 포맷팅
docker-compose exec backend black .
docker-compose exec backend ruff check --fix .
check-health: ## 서비스 헬스 체크
@echo "Checking APISIX Health..."
@curl -s http://localhost:9080/health | jq .
@echo "\nChecking Backend Health (through APISIX)..."
@curl -s http://localhost:9080/api/v1/health | jq .
setup-apisix-routes: ## APISIX 라우트 설정
@echo "Setting up APISIX routes..."
@curl -X PUT http://localhost:9092/apisix/admin/routes/1 \
-H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' \
-d @apisix/routes.yaml