Skip to content
@AI-AutoQA

AI-AutoQA

AutoQA

AI 기반 μ›Ή QA μžλ™ν™” ν”Œλž«νΌ

AutoQAλŠ” μ‚¬μš©μžκ°€ ν…ŒμŠ€νŠΈ λŒ€μƒ URLκ³Ό μžμ—°μ–΄ μš”κ΅¬μ‚¬ν•­μ„ μž…λ ₯ν•˜λ©΄, μ›Ή νŽ˜μ΄μ§€λ₯Ό μžλ™ λΆ„μ„ν•˜κ³  AIκ°€ QA μ‹œλ‚˜λ¦¬μ˜€λ₯Ό μƒμ„±ν•œ λ’€ Playwright 기반 E2E ν…ŒμŠ€νŠΈ μ‹€ν–‰ κ²°κ³Όλ₯Ό μ‹€μ‹œκ°„μœΌλ‘œ μ œκ³΅ν•˜λŠ” μ„œλΉ„μŠ€μž…λ‹ˆλ‹€. 뢄석, μ‹œλ‚˜λ¦¬μ˜€ 생성, μ‹€ν–‰, κ²°κ³Ό λ¦¬ν¬νŠΈκΉŒμ§€ μ΄μ–΄μ§€λŠ” QA νŒŒμ΄ν”„λΌμΈμ„ 비동기 μ›Œμ»€μ™€ μ‹€μ‹œκ°„ WebSocket 이벀트둜 μ—°κ²°ν•©λ‹ˆλ‹€.


ν”„λ‘œμ νŠΈ κ°œμš”

AutoQA

ν•­λͺ© λ‚΄μš©
ν”Œλž«νΌ μ›Ή 기반 AI QA μžλ™ν™” SaaS
개발 κΈ°κ°„ 2026.04.06 ~ 2026.06.02
개발 인원 6인

Getting Started

사전쀀비

도ꡬ ꢌμž₯ 버전 μš©λ„
Docker Desktop 4.x 이상 둜컬 인프라 및 전체 μŠ€νƒ μ‹€ν–‰
Java 17 Backend κ°œλ³„ μ‹€ν–‰
Node.js 20 LTS Frontend, Playwright Worker κ°œλ³„ μ‹€ν–‰
Python 3.12 AI μ„œλ²„ κ°œλ³„ μ‹€ν–‰
AWS CLI 2.x 이상 운영 AWS λ¦¬μ†ŒμŠ€ μ ‘κ·Ό 및 배포
Terraform 1.7 이상 AWS 인프라 ν”„λ‘œλΉ„μ €λ‹

μžμ„Έν•œ 둜컬 μ‹€ν–‰ μ ˆμ°¨λŠ” docs/local-run.mdλ₯Ό μ°Έκ³ ν•˜μ„Έμš”.

μ‹€ν–‰ 방법

전체 μŠ€νƒμ„ Docker Compose둜 μ‹€ν–‰ν•©λ‹ˆλ‹€.

cd infra
cp .env.example .env
docker compose -f docker-compose.full.yml up -d --build

개발 쀑 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ°œλ³„λ‘œ μ‹€ν–‰ν•˜λ €λ©΄ μΈν”„λΌλ§Œ λ¨Όμ € κΈ°λ™ν•©λ‹ˆλ‹€.

cd infra
docker compose up -d postgres redis localstack minio

이후 ν•„μš”ν•œ μ„œλΉ„μŠ€λ₯Ό 각각 μ‹€ν–‰ν•©λ‹ˆλ‹€.

# Backend
cd backend
./gradlew bootRun

# Frontend
cd frontend
npm install
npm run dev

# Playwright Worker
cd playwright
cp .env.example .env
npm install
npx playwright install chromium
npm start

# AI Server
cd ai
python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000

접속 정보(둜컬 κΈ°μ€€)

ꡬ뢄 μ£Όμ†Œ λΉ„κ³ 
Frontend http://localhost:3000 Docker Compose κΈ°μ€€
Frontend Dev Server http://localhost:5173 npm run dev κΈ°μ€€
Backend API http://localhost:8080 REST API
Swagger UI http://localhost:8080/api/swagger-ui 둜컬 κΈ°λ³Έ ν™œμ„±ν™”
Backend Health http://localhost:8080/actuator/health Actuator health check
AI Server http://localhost:8000 FastAPI
LocalStack http://localhost:4566 둜컬 AWS λŒ€μ²΄
MinIO Console http://localhost:9001 minioadmin / minioadmin1234
PostgreSQL localhost:5432 DB autoqa, user autoqa
Redis localhost:6379 κΈ°λ³Έ λΉ„λ°€λ²ˆν˜Έ redis1234

접속 정보(메인 EC2 κΈ°μ€€)

ꡬ뢄 μ£Όμ†Œ λΉ„κ³ 
μ„œλΉ„μŠ€ 도메인 https://www.autoqa.site 메인 μ‚¬μš©μž μ„œλΉ„μŠ€
SSAFY 도메인 https://k14a101.p.ssafy.io 동일 μ„œλΉ„μŠ€ μ ‘κ·Ό 도메인
Backend API https://www.autoqa.site/api Nginx reverse proxy
WebSocket wss://www.autoqa.site/ws μ‹€μ‹œκ°„ QA μ§„ν–‰ 이벀트
Jenkins https://k14a101.p.ssafy.io:8443 κ΄€λ¦¬μž μ ‘κ·Όμš©
Redis Commander https://k14a101.p.ssafy.io:8081 κ΄€λ¦¬μž μ ‘κ·Όμš©
Container Logs https://k14a101.p.ssafy.io:8082 Dozzle 기반 둜그 λ·°μ–΄

운영 ν™˜κ²½μ—μ„œ Swagger UIλŠ” λ³΄μ•ˆ 정책에 따라 λΉ„ν™œμ„±ν™”λ  수 μžˆμŠ΅λ‹ˆλ‹€. EC2 배포 μ ˆμ°¨λŠ” infra/SETUP-GUIDE.mdλ₯Ό μ°Έκ³ ν•˜μ„Έμš”.

ν™˜κ²½ λ³€μˆ˜ 및 인프라 κ°€μ΄λ“œ

ν™˜κ²½ λ³€μˆ˜ 관리

ν™˜κ²½ λ³€μˆ˜λŠ” μ˜ˆμ‹œ νŒŒμΌμ„ λ³΅μ‚¬ν•œ λ’€ μ‹€μ œ 값을 μ±„μ›Œ μ‚¬μš©ν•©λ‹ˆλ‹€. μ‹€μ œ .env, terraform.tfvars, AWS Access Key, DB λΉ„λ°€λ²ˆν˜Έ, JWT Secret, 메일 μ•± λΉ„λ°€λ²ˆν˜Έ, Redis λΉ„λ°€λ²ˆν˜ΈλŠ” μ €μž₯μ†Œμ— μ»€λ°‹ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

파일 μš©λ„
infra/.env.example 둜컬 Docker Compose 곡톡 ν™˜κ²½ λ³€μˆ˜
backend/.env.example Backend 운영 ν™˜κ²½ λ³€μˆ˜ μ°Έκ³  ν…œν”Œλ¦Ώ
playwright/.env.example Playwright Worker 둜컬/운영 ν™˜κ²½ λ³€μˆ˜
ai/.env.example AI μ„œλ²„ λͺ¨λΈ, Redis, SQS, S3 ν™˜κ²½ λ³€μˆ˜
infra/ec2-setup/.env.example 메인 EC2 Docker Compose 운영 ν™˜κ²½ λ³€μˆ˜
infra/terraform/main/terraform.tfvars.example Terraform λ³€μˆ˜ ν…œν”Œλ¦Ώ

운영 배포 μ‹œμ—λŠ” Terraform 좜λ ₯값을 EC2 ν™˜κ²½ λ³€μˆ˜λ‘œ λ°˜μ˜ν•©λ‹ˆλ‹€.

cd infra/terraform/main
terraform init
terraform plan
terraform apply
terraform output

μ£Όμš” Terraform 좜λ ₯값은 RDS endpoint, SQS queue URL, S3 artifacts bucket, ECR repository URL, ECS service name, CloudWatch dashboard URL, EC2/Jenkins용 IAM access keyμž…λ‹ˆλ‹€.

인프라 ꡬ성 μš”μ•½

  • 메인 EC2λŠ” Nginx, Frontend, Backend, Redis, Jenkins, Redis Commander, Dozzle을 Docker Compose둜 μ‹€ν–‰ν•©λ‹ˆλ‹€.
  • Terraform은 VPC, public/private/db subnet, RDS PostgreSQL, SQS, S3, ECR, ECS Fargate Playwright Worker, ECS GPU AI Worker, IAM, CloudWatch, SNSλ₯Ό κ΄€λ¦¬ν•©λ‹ˆλ‹€.
  • RedisλŠ” ElastiCache λŒ€μ‹  메인 EC2 Docker Redisλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. BackendλŠ” Compose network둜 μ ‘κ·Όν•˜κ³ , ECS WorkerλŠ” EC2 곡인 IP와 Redis λΉ„λ°€λ²ˆν˜Έλ₯Ό 톡해 μ ‘κ·Όν•©λ‹ˆλ‹€.
  • Playwright Worker와 AI WorkerλŠ” SQS λ©”μ‹œμ§€ μœ λ¬΄μ— 따라 0κ°œμ—μ„œ ν•„μš”ν•œ 수만큼 ν™•μž₯λ˜λŠ” κ΅¬μ‘°μž…λ‹ˆλ‹€.
  • ν…ŒμŠ€νŠΈ μ‚°μΆœλ¬Ό, 뢄석 κ²°κ³Ό, μ‹œλ‚˜λ¦¬μ˜€ suite, μ‹€ν–‰ κ²°κ³ΌλŠ” S3 artifacts bucket에 μ €μž₯ν•©λ‹ˆλ‹€.

Tech Stack

μ˜μ—­ 기술
Frontend React 18, TypeScript, Vite, Tailwind CSS, Zustand, React Router, Axios, STOMP/SockJS, Three.js
Backend Java 17, Spring Boot, Spring Security, JWT, Spring Data JPA, WebSocket, Redis, PostgreSQL, springdoc-openapi
Playwright Worker Node.js, Express, Playwright, AWS SDK for JavaScript, ioredis
AI Server / Worker Python 3.12, FastAPI, Uvicorn, Pydantic, vLLM, Transformers, LoRA 기반 LLM μΆ”λ‘ 
Database / Cache PostgreSQL, Redis
Storage / Queue S3, SQS, SNS, MinIO, LocalStack
Infrastructure Docker, Docker Compose, Nginx, Terraform, AWS VPC, RDS, ECR, ECS Fargate, ECS on EC2 GPU, IAM, CloudWatch
CI/CD / 운영 Jenkins, CloudWatch Logs, CloudWatch Dashboard, Dozzle, Redis Commander
Load Test k6

μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜

μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜

κΈ°λŠ₯ꡬ성

κΈ°λŠ₯ μ„€λͺ…
νšŒμ› 인증 이메일 인증 기반 νšŒμ›κ°€μž…, 둜그인, λ‘œκ·Έμ•„μ›ƒ, JWT μž¬λ°œκΈ‰, 아이디/λΉ„λ°€λ²ˆν˜Έ μ°ΎκΈ°λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.
QA νŒŒμ΄ν”„λΌμΈ μ‹œμž‘ μ‚¬μš©μžκ°€ λŒ€μƒ URL, 둜그인 계정 정보, μžμ—°μ–΄ μš”μ²­μ„ μž…λ ₯ν•˜λ©΄ νŽ˜μ΄μ§€ 뢄석뢀터 μ‹œλ‚˜λ¦¬μ˜€ μƒμ„±κΉŒμ§€ μžλ™ μ§„ν–‰ν•©λ‹ˆλ‹€. Main
μ›Ή νŽ˜μ΄μ§€ 뢄석 Playwright Workerκ°€ λŒ€μƒ μ‚¬μ΄νŠΈλ₯Ό νƒμƒ‰ν•˜λ©° νŽ˜μ΄μ§€ ꡬ쑰, μ£Όμš” μš”μ†Œ, 링크 관계, μŠ€ν¬λ¦°μƒ·, DOM 정보λ₯Ό μˆ˜μ§‘ν•©λ‹ˆλ‹€. Analyze
μ‹€μ‹œκ°„ μ§„ν–‰ ν‘œμ‹œ Redis Pub/Subκ³Ό Backend WebSocket을 톡해 뢄석, AI 생성, μ‹€ν–‰ λ‹¨κ³„μ˜ μƒνƒœμ™€ 둜그λ₯Ό Frontend에 μ‹€μ‹œκ°„μœΌλ‘œ μ „λ‹¬ν•©λ‹ˆλ‹€. Scenario
AI μ‹œλ‚˜λ¦¬μ˜€ 생성 AI GPU Workerκ°€ 뢄석 μ‚°μΆœλ¬Όκ³Ό μ‚¬μš©μž ν”„λ‘¬ν”„νŠΈλ₯Ό 기반으둜 QA μ‹œλ‚˜λ¦¬μ˜€μ™€ step suiteλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€. AIScenario
μ‹œλ‚˜λ¦¬μ˜€ κ²€ν† /νŽΈμ§‘ μƒμ„±λœ μ‹œλ‚˜λ¦¬μ˜€λ₯Ό μ‹€ν–‰ μ „ κ²€ν† ν•˜κ³ , μžμ—°μ–΄λ‘œ μ‹œλ‚˜λ¦¬μ˜€λ₯Ό μΆ”κ°€ν•˜κ±°λ‚˜ κΈ°μ‘΄ μ‹œλ‚˜λ¦¬μ˜€λ₯Ό μˆ˜μ •/μ‚­μ œν•  수 μžˆμŠ΅λ‹ˆλ‹€. ScenarioCheck
QA μžλ™ μ‹€ν–‰ κ²€ν† κ°€ λλ‚œ μ‹œλ‚˜λ¦¬μ˜€ suiteλ₯Ό Playwright Workerκ°€ λΈŒλΌμš°μ €μ—μ„œ μ‹€ν–‰ν•˜κ³ , step별 μƒνƒœμ™€ μ‹€ν–‰ 둜그λ₯Ό κΈ°λ‘ν•©λ‹ˆλ‹€. Execution
κ²°κ³Ό 리포트 μ‹€ν–‰ κ²°κ³Ό, 성곡/μ‹€νŒ¨/κ²½κ³  카운트, μ†Œμš” μ‹œκ°„, μ˜μƒ/μŠ€ν¬λ¦°μƒ· λ“± μ‚°μΆœλ¬Όμ„ λ³΄κ³ μ„œ ν˜•νƒœλ‘œ μ‘°νšŒν•©λ‹ˆλ‹€. Report
νžˆμŠ€ν† λ¦¬ 관리 μ‚¬μš©μžλ³„ QA 리포트 λͺ©λ‘κ³Ό 상세 κ²°κ³Όλ₯Ό μ‘°νšŒν•˜κ³ , 이전 뢄석 결과둜 λ‹€μ‹œ μ§„μž…ν•  수 μžˆμŠ΅λ‹ˆλ‹€. History
운영 λͺ¨λ‹ˆν„°λ§ CloudWatch Logs/Alarms, Jenkins, Redis Commander, Dozzle을 톡해 배포와 운영 μƒνƒœλ₯Ό ν™•μΈν•©λ‹ˆλ‹€. CloudWatchERD

디렉토리 ꡬ쑰

Backend

backend/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ main/
β”‚   β”‚   β”œβ”€β”€ java/com/autoqa/backend/
β”‚   β”‚   β”‚   β”œβ”€β”€ BackendApplication.java
β”‚   β”‚   β”‚   β”œβ”€β”€ common/          곡톡 응닡, μ„€μ •, Swagger, μ˜ˆμ™Έ 처리
β”‚   β”‚   β”‚   β”œβ”€β”€ domain/          인증, μ‚¬μš©μž, ν”„λ‘œμ νŠΈ, QA, κ²°κ³Ό 도메인
β”‚   β”‚   β”‚   └── infrastructure/  Redis, AWS, μ™ΈλΆ€ 연동 인프라 μ½”λ“œ
β”‚   β”‚   └── resources/           profile별 μ„€μ •, ν…œν”Œλ¦Ώ, 검증 λ¦¬μ†ŒμŠ€
β”‚   └── test/                    ν…ŒμŠ€νŠΈ μ½”λ“œ
β”œβ”€β”€ scripts/                     λ°±μ—”λ“œ 보쑰 슀크립트
β”œβ”€β”€ gradle/                      Gradle Wrapper λ¦¬μ†ŒμŠ€
β”œβ”€β”€ build.gradle
β”œβ”€β”€ settings.gradle
β”œβ”€β”€ Dockerfile
β”œβ”€β”€ Jenkinsfile
β”œβ”€β”€ gradlew
└── gradlew.bat
  • Spring Boot 기반 API μ„œλ²„μž…λ‹ˆλ‹€.
  • 인증/인가, μ‚¬μš©μž 관리, QA νŒŒμ΄ν”„λΌμΈ API, SQS λ°œν–‰/κ²°κ³Ό μ†ŒλΉ„, Redis μƒνƒœ 관리, WebSocket 이벀트 쀑계λ₯Ό λ‹΄λ‹Ήν•©λ‹ˆλ‹€.
  • PostgreSQL에 μ‚¬μš©μž, 리포트, νŽ˜μ΄μ§€, μ‹œλ‚˜λ¦¬μ˜€, μ‹€ν–‰ κ²°κ³Όλ₯Ό μ €μž₯ν•©λ‹ˆλ‹€.

Frontend

frontend/
β”œβ”€β”€ public/                      정적 λ¦¬μ†ŒμŠ€
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ api/                     REST API, WebSocket client
β”‚   β”œβ”€β”€ components/              곡톡 UI 및 λ ˆμ΄μ•„μ›ƒ μ»΄ν¬λ„ŒνŠΈ
β”‚   β”œβ”€β”€ lib/                     곡톡 μœ ν‹Έλ¦¬ν‹°
β”‚   β”œβ”€β”€ pages/                   라우트 λ‹¨μœ„ ν™”λ©΄
β”‚   β”œβ”€β”€ store/                   Zustand μƒνƒœ 관리
β”‚   β”œβ”€β”€ styles/                  μŠ€νƒ€μΌ λ¦¬μ†ŒμŠ€
β”‚   β”œβ”€β”€ types/                   곡톡 νƒ€μž… μ •μ˜
β”‚   β”œβ”€β”€ App.tsx
β”‚   β”œβ”€β”€ index.css
β”‚   └── main.tsx
β”œβ”€β”€ index.html
β”œβ”€β”€ nginx.conf
β”œβ”€β”€ package.json
β”œβ”€β”€ vite.config.ts
β”œβ”€β”€ tsconfig.json
β”œβ”€β”€ tailwind.config.js
β”œβ”€β”€ Dockerfile
└── Jenkinsfile
  • React, TypeScript, Vite 기반 SPAμž…λ‹ˆλ‹€.
  • URL μž…λ ₯, 뢄석 μ§„ν–‰, μ‹œλ‚˜λ¦¬μ˜€ κ²€ν† , QA μ‹€ν–‰ ν˜„ν™©, κ²°κ³Ό 리포트, νžˆμŠ€ν† λ¦¬ 화면을 μ œκ³΅ν•©λ‹ˆλ‹€.
  • WebSocket 이벀트λ₯Ό ꡬ독해 QA νŒŒμ΄ν”„λΌμΈ μƒνƒœλ₯Ό μ‹€μ‹œκ°„μœΌλ‘œ λ°˜μ˜ν•©λ‹ˆλ‹€.

ai

ai/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ main.py                  FastAPI μ—”νŠΈλ¦¬ν¬μΈνŠΈ
β”‚   β”œβ”€β”€ model_service.py         λͺ¨λΈ λ‘œλ”© 및 μΆ”λ‘  μ„œλΉ„μŠ€
β”‚   β”œβ”€β”€ schemas.py               μš”μ²­/응닡 μŠ€ν‚€λ§ˆ
β”‚   β”œβ”€β”€ worker.py                SQS 기반 AI Worker
β”‚   └── services/                AI 도메인 μ„œλΉ„μŠ€
β”œβ”€β”€ docs/                        AI μ„œλ²„ λ¬Έμ„œ
β”œβ”€β”€ inference/                   별도 μΆ”λ‘  μ„œλ²„ 및 배포 보쑰 파일
β”‚   β”œβ”€β”€ server.py
β”‚   β”œβ”€β”€ worker.py
β”‚   β”œβ”€β”€ proxy.py
β”‚   └── startup-script.sh
β”œβ”€β”€ models/                      둜컬 λͺ¨λΈ/μ–΄λŒ‘ν„° μ €μž₯ μœ„μΉ˜
β”œβ”€β”€ scripts/                     μ‹€ν–‰ 보쑰 슀크립트
β”œβ”€β”€ requirements.txt
└── Dockerfile
  • FastAPI 기반 AI μ„œλ²„μ™€ SQS 기반 AI Workerλ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€.
  • 뢄석 μ‚°μΆœλ¬Όμ„ μž…λ ₯으둜 λ°›μ•„ QA μ‹œλ‚˜λ¦¬μ˜€λ₯Ό μƒμ„±ν•˜κ³ , κ²°κ³Όλ₯Ό S3와 SQS result queue둜 μ „λ‹¬ν•©λ‹ˆλ‹€.
  • 운영 ν™˜κ²½μ—μ„œλŠ” ECS GPU Worker와 λͺ¨λΈ μΊμ‹œ 경둜λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€.

playwright

playwright/
β”œβ”€β”€ config/                      Worker μ„€μ •
β”œβ”€β”€ outputs/                     둜컬 μ‹€ν–‰ μ‚°μΆœλ¬Ό
β”œβ”€β”€ public/                      정적 ν™•μΈμš© λ¦¬μ†ŒμŠ€
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ core/                    Playwright 뢄석/μ‹€ν–‰ 핡심 둜직
β”‚   β”œβ”€β”€ http/                    HTTP μ„œλ²„ 및 health check
β”‚   β”œβ”€β”€ infra/                   AWS, Redis λ“± μ™ΈλΆ€ 인프라 연동
β”‚   β”œβ”€β”€ scripts/                 정리/운영 보쑰 슀크립트
β”‚   β”œβ”€β”€ worker/                  SQS polling Worker
β”‚   └── index.js                 Worker μ—”νŠΈλ¦¬ν¬μΈνŠΈ
β”œβ”€β”€ package.json
β”œβ”€β”€ Dockerfile
β”œβ”€β”€ Jenkinsfile
β”œβ”€β”€ web.md
└── WIKI.md
  • Node.js와 Playwright 기반 μ›Œμ»€μž…λ‹ˆλ‹€.
  • SQS queueλ₯Ό long pollingν•˜μ—¬ νŽ˜μ΄μ§€ 뢄석 μž‘μ—…κ³Ό QA μ‹€ν–‰ μž‘μ—…μ„ μ²˜λ¦¬ν•©λ‹ˆλ‹€.
  • μŠ€ν¬λ¦°μƒ·, DOM JSON, 리포트, μ˜μƒ λ“± μ‹€ν–‰ μ‚°μΆœλ¬Όμ„ S3/MinIO에 μ €μž₯ν•˜κ³  μ§„ν–‰ 이벀트λ₯Ό Redis둜 λ°œν–‰ν•©λ‹ˆλ‹€.

infra

infra/
β”œβ”€β”€ docker-compose.yml           둜컬 인프라(PostgreSQL, Redis, LocalStack, MinIO)
β”œβ”€β”€ docker-compose.full.yml      둜컬 전체 μŠ€νƒ μ‹€ν–‰
β”œβ”€β”€ ec2-setup/                   메인 EC2 운영 μ„€μ •
β”‚   β”œβ”€β”€ docker-compose.yml       운영 μ»¨ν…Œμ΄λ„ˆ ꡬ성
β”‚   β”œβ”€β”€ nginx.conf               HTTPS reverse proxy
β”‚   β”œβ”€β”€ jenkins.Dockerfile       Jenkins μ»€μŠ€ν…€ 이미지
β”‚   β”œβ”€β”€ casc.yaml                Jenkins Configuration as Code
β”‚   β”œβ”€β”€ setup.sh                 EC2 초기 μ„€μ •
β”‚   └── cloudwatch-agent.json    CloudWatch Agent μ„€μ •
β”œβ”€β”€ localstack/                  둜컬 AWS λ¦¬μ†ŒμŠ€ μ΄ˆκΈ°ν™”
β”œβ”€β”€ scripts/                     인프라 운영 슀크립트
β”œβ”€β”€ terraform/
β”‚   β”œβ”€β”€ README.md
β”‚   └── main/
β”‚       β”œβ”€β”€ vpc.tf
β”‚       β”œβ”€β”€ security_groups.tf
β”‚       β”œβ”€β”€ rds.tf
β”‚       β”œβ”€β”€ sqs.tf
β”‚       β”œβ”€β”€ s3.tf
β”‚       β”œβ”€β”€ ecr.tf
β”‚       β”œβ”€β”€ ecs.tf
β”‚       β”œβ”€β”€ ai_ecs_gpu.tf
β”‚       β”œβ”€β”€ iam.tf
β”‚       β”œβ”€β”€ cloudwatch.tf
β”‚       β”œβ”€β”€ variables.tf
β”‚       β”œβ”€β”€ outputs.tf
β”‚       └── terraform.tfvars.example
└── SETUP-GUIDE.md
  • 둜컬 개발용 Docker Compose와 운영 EC2 μ„€μ •, Terraform 인프라 μ½”λ“œλ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€.
  • infra/docker-compose.yml은 PostgreSQL, Redis, LocalStack, MinIO만 μ‹€ν–‰ν•©λ‹ˆλ‹€.
  • infra/docker-compose.full.yml은 인프라와 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 전체 μŠ€νƒμ„ ν•¨κ»˜ μ‹€ν–‰ν•©λ‹ˆλ‹€.
  • infra/terraform/main은 AWS λ¦¬μ†ŒμŠ€λ₯Ό μƒμ„±ν•˜κ³  κ΄€λ¦¬ν•©λ‹ˆλ‹€.

loadtest

loadtest/
β”œβ”€β”€ 01-smoke.js                  κΈ°λ³Έ API smoke test
β”œβ”€β”€ 02-start-flow.js             QA μ‹œμž‘ ν”Œλ‘œμš° λΆ€ν•˜ ν…ŒμŠ€νŠΈ
β”œβ”€β”€ 03-scenarios-read.js         μ‹œλ‚˜λ¦¬μ˜€ 쑰회 λΆ€ν•˜ ν…ŒμŠ€νŠΈ
β”œβ”€β”€ 04-websocket.js              WebSocket μ—°κ²° ν…ŒμŠ€νŠΈ
β”œβ”€β”€ 05-nplus1.js                 N+1 쑰회 μ„±λŠ₯ 확인
β”œβ”€β”€ lib/
β”‚   └── auth.js                  k6 인증 헬퍼
β”œβ”€β”€ results/                     ν…ŒμŠ€νŠΈ κ²°κ³Ό μ €μž₯ μœ„μΉ˜
β”œβ”€β”€ db-seed.sh                   ν…ŒμŠ€νŠΈ 데이터 μ‹œλ”©
β”œβ”€β”€ db-seed-reportjson.sh        리포트 JSON μ‹œλ”©
β”œβ”€β”€ setup-test-data.sh           Redis/DB ν…ŒμŠ€νŠΈ 데이터 μ€€λΉ„
└── README.md
  • k6 기반 λΆ€ν•˜ ν…ŒμŠ€νŠΈ μ‹œλ‚˜λ¦¬μ˜€λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.
  • smoke test, QA μ‹œμž‘ ν”Œλ‘œμš°, 쑰회 λΆ€ν•˜, WebSocket, N+1 확인 μ‹œλ‚˜λ¦¬μ˜€λ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€.
  • μžμ„Έν•œ μ‚¬μš©λ²•μ€ loadtest/README.mdλ₯Ό μ°Έκ³ ν•˜μ„Έμš”.

ν”„λ‘œμ νŠΈ μ‚°μΆœλ¬Ό

μ‚°μΆœλ¬Ό μœ„μΉ˜
ERD ERD
Swagger API Docs 둜컬 Swagger: http://localhost:8080/api/swagger-ui Swagger
μ˜μƒ 포트폴리였 μ˜μƒ 포트폴리였
κΈ°λŠ₯λͺ…μ„Έμ„œ κΈ°λŠ₯λͺ…μ„Έμ„œ
API λͺ…μ„Έμ„œ APIλͺ…μ„Έμ„œ

μ°Έκ³  λ¬Έμ„œ

λ¬Έμ„œ λ‚΄μš©
docs/local-run.md 둜컬 개발 ν™˜κ²½ ꡬ성 및 μ‹€ν–‰ 방법
infra/SETUP-GUIDE.md 운영 인프라 ꡬ좕 및 EC2 배포 κ°€μ΄λ“œ
docs/backend/api-overview.md REST API μ—”λ“œν¬μΈνŠΈ κ°œμš”
docs/frontend/realtime-events.md Redis Pub/Sub 및 WebSocket 이벀트 λͺ…μ„Έ
docs/backend/qa-pipeline-state-api.md QA νŒŒμ΄ν”„λΌμΈ ν˜„μž¬ μƒνƒœ 쑰회 API
docs/playwright/qa-pipeline-sqs-contract.md SQS 기반 Playwright 뢄석/μ‹€ν–‰ 계약
docs/playwright/qa-ai-scenario-generation-contract.md AI μ‹œλ‚˜λ¦¬μ˜€ 생성 계약
docs/playwright/playwright-sqs-request-examples.md Playwright Worker SQS μš”μ²­/검증 μ˜ˆμ‹œ
docs/infra/cloudwatch-server-debug-dashboard.md CloudWatch λŒ€μ‹œλ³΄λ“œμ™€ Logs Insights 쿼리
docs/playwright/qa-suite-report-schema.md QA Suite Report JSON μŠ€ν‚€λ§ˆ (λŒ€μ‹œλ³΄λ“œ μž…λ ₯ 포맷)
docs/demo-scenario.md 데λͺ¨ μ‹œμ—° μ‹œλ‚˜λ¦¬μ˜€

Popular repositories Loading

  1. AutoQA AutoQA Public

    μ‚Όμ„± μ²­λ…„ SWΒ·AI 아카데미(SSAFY) 14κΈ° 2ν•™κΈ° μžμœ¨ν”„λ‘œμ νŠΈ μš°μˆ˜μƒ μˆ˜μƒ

    JavaScript

  2. .github .github Public

Repositories

Showing 2 of 2 repositories

Top languages

Loading…

Most used topics

Loading…