AI 대시보드 ✨
EyeFactory AI v1.0 · 현재 진행중인 프로젝트 전체 현황
✓
요건정의
✓
분석설계
3
개발
4
단위테스트
5
통합테스트
6
배포
7
운영
진행중 프로젝트
-
태스크 집계 중…
전체 진행률
-
단계 기준 평균
AI 생성 산출물
-
workfile 집계 중…
위험 작업
-
최근 7일 실패 테스트 기준
주차별 진행률 / 결함 추이
🤖 AI 프로젝트 분석
일정 위험
"결제 API 모듈"이 예상보다 3일 지연될 가능성이 높습니다.
"결제 API 모듈"이 예상보다 3일 지연될 가능성이 높습니다.
결함 집중 구간
인증 모듈에서 결함 67%가 집중됨. 추가 검토 권장.
인증 모듈에서 결함 67%가 집중됨. 추가 검토 권장.
인력 부족 예측
다음 주 프론트엔드 개발자 1명 추가 필요.
다음 주 프론트엔드 개발자 1명 추가 필요.
프로젝트 관리
전체 SI 프로젝트 목록 및 진행 상태
차세대 주문관리 시스템
진행중PM: 김병민 · 기간: 2026.01 ~ 2026.08
진행률 62%⚠️ 일정 위험 1건
고객 포털 리뉴얼
진행중PM: 박관리 · 기간: 2026.02 ~ 2026.07
진행률 78%✓ 정상
결제 시스템 고도화
검토중PM: 이리더 · 기간: 2026.03 ~ 2026.10
진행률 34%정상
전체 프로젝트
| 코드 | 프로젝트명 | PM | 단계 | 진행률 | 기간 | 상태 |
|---|---|---|---|---|---|---|
| PRJ-001 | 차세대 주문관리 | 김병민 | 개발 | 26.01~26.08 | 진행중 | |
| PRJ-002 | 고객 포털 리뉴얼 | 박관리 | 통합테스트 | 26.02~26.07 | 진행중 | |
| PRJ-003 | 결제 시스템 고도화 | 이리더 | 분석설계 | 26.03~26.10 | 검토중 | |
| PRJ-004 | 모바일 앱 v2 | 최PM | 요건정의 | 26.05~26.12 | 예정 | |
| PRJ-005 | EyeScan 연동 | 김병민 | 배포 | 25.11~26.05 | 마무리 |
WBS 관리
프로젝트: 차세대 주문관리 · 작업 분해 구조 및 일정
전체 (124)
진행중 (38)
완료 (52)
지연 위험 (3)
코드
작업명
담당자
상태
진행률
마감일
AI 분석
1
📂 요건정의
박분석
완료
2026-02-15
정상 완료
1.1
└ 고객사 인터뷰
박분석
완료
2026-01-20
2
📂 분석설계
이설계
완료
2026-03-30
3
📂 개발
최개발
진행중
2026-06-15
⚠️ 3일 지연 위험
3.1
└ 인증 모듈
최개발
완료
2026-04-15
3.2
└ 주문 API
김개발
진행중
2026-05-25
3.3
└ 결제 연동
김개발
진행중
2026-06-05
🚨 일정 지연
3.4
└ 관리자 화면
이프론트
대기
2026-06-15
4
📂 단위 테스트
QA팀
대기
2026-07-05
5
📂 통합 테스트
QA팀
대기
2026-07-25
6
📂 배포
김데브옵스
대기
2026-08-10
요구사항 관리
AI 기반 요구사항 요약 · 누락 분석 · 영향도 분석
🤖 AI 요구사항 요약
총 118건의 요구사항 중 핵심 기능 42건, 부가 기능 51건, 비기능 25건으로 분류됨.
핵심 기능 중 결제 처리 / 인증 / 주문 관리가 우선순위 상위.
⚠️ 누락 가능성 분석
• 결제 실패 처리 흐름 미정의
• 회원 탈퇴 후 데이터 보존 정책 누락
• 동시 접속 사용자 한계값 미정
• 회원 탈퇴 후 데이터 보존 정책 누락
• 동시 접속 사용자 한계값 미정
📊 영향도 분석
REQ-101 변경 시 영향:
• API 7개 / DB 테이블 3개
• 화면 12개 / 예상 공수 +4.5MD
• API 7개 / DB 테이블 3개
• 화면 12개 / 예상 공수 +4.5MD
요구사항 목록 (118)
| ID | 제목 | 유형 | 우선순위 | 담당자 | 상태 | 버전 |
|---|---|---|---|---|---|---|
| REQ-101 | 회원가입 / 로그인 (SNS 포함) | 핵심 | 높음 | 박분석 | 승인 | v1.2 |
| REQ-102 | 상품 검색 및 필터링 | 핵심 | 높음 | 박분석 | 승인 | v1.0 |
| REQ-103 | 장바구니 관리 | 핵심 | 중간 | 김분석 | 승인 | v1.0 |
| REQ-118 | 결제 실패 시 자동 재시도 정책 | 핵심 | 높음 | 박분석 | 승인 요청 | v0.3 |
| REQ-119 | 대량 주문 일괄 처리 API | 부가 | 낮음 | 이분석 | 작성중 | v0.1 |
| REQ-120 | 관리자 통계 대시보드 | 부가 | 중간 | 김분석 | 대기 | - |
| REQ-121 | 응답 시간 200ms 이내 | 비기능 | 높음 | 아키텍트 | 승인 | v1.0 |
AI 화면 정의 ✨
기획서 업로드 또는 자연어 입력 → AI가 HTML 화면을 자동 생성합니다
📑 기획서 파일 업로드
📑
기획서를 드래그하거나 클릭해서 업로드
.pdf .docx .xlsx .hwp .txt .md 지원 · AI가 자동 분석 후 HTML 생성
📝 화면 설명 (자연어)
화면 목록 (42)
| 화면ID | 화면명 | 구분 | 담당자 | 상태 | 버전 | 산출물 |
|---|---|---|---|---|---|---|
| SCR-001 | 로그인 | 인증 | 이설계 | 완료 | v1.2 | 📄 📊 📑 |
| SCR-002 | 회원가입 | 인증 | 이설계 | 완료 | v1.1 | 📄 📊 📑 |
| SCR-042 | 상품 검색 | 상품 | 이설계 | 검토중 | v0.3 | 📄 📊 |
| SCR-043 | 상품 상세 | 상품 | 박설계 | 작성중 | v0.1 | 📄 |
| SCR-051 | 장바구니 | 주문 | 박설계 | 완료 | v1.0 | 📄 📊 📑 |
인터페이스 정의
REST API · Request/Response · 에러코드 자동 생성
📡 API 명세
POST /api/v1/orders
// 주문 생성
Request
// 주문 생성
Request
{
"userId": "long",
"items": [
{ "productId": "long", "qty": "int" }
],
"couponCode": "string?"
}
Response 200
{
"orderId": "long",
"status": "PENDING",
"totalAmount": "decimal"
}
❗ 에러 코드
| 코드 | HTTP | 의미 |
|---|---|---|
| ORD-001 | 400 | 잘못된 요청 파라미터 |
| ORD-002 | 404 | 상품을 찾을 수 없음 |
| ORD-003 | 409 | 재고 부족 |
| ORD-004 | 402 | 결제 실패 |
| AUTH-001 | 401 | 인증 실패 |
API 목록 (97)
| Method | 경로 | 설명 | 담당자 | 상태 |
|---|---|---|---|---|
| GET | /api/v1/products | 상품 목록 조회 | 최개발 | 완료 |
| POST | /api/v1/orders | 주문 생성 | 최개발 | 개발중 |
| POST | /api/v1/payments | 결제 처리 | 김개발 | 검토 |
| PUT | /api/v1/users/{id} | 회원 정보 수정 | 김개발 | 완료 |
| DELETE | /api/v1/cart/{id} | 장바구니 항목 삭제 | 최개발 | 완료 |
DB 설계
테이블 · 컬럼 · 관계 · DDL 자동 생성
테이블 목록 (28)
| 테이블명 | 설명 | 컬럼 수 | 관계 |
|---|---|---|---|
| users | 회원 정보 | 14 | 3 |
| products | 상품 | 22 | 5 |
| orders | 주문 | 18 | 4 |
| order_items | 주문 항목 | 9 | 2 |
| payments | 결제 | 12 | 2 |
| coupons | 쿠폰 | 10 | 1 |
📜 DDL 미리보기
CREATE TABLE orders ( order_id BIGINT PRIMARY KEY AUTO_INCREMENT, user_id BIGINT NOT NULL, status VARCHAR(20) NOT NULL, total_amount DECIMAL(12,2), created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME ON UPDATE CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES users(user_id), INDEX idx_user_status (user_id, status) );
개발 관리
AI 코드 생성 · CRUD / Entity / Controller / Service
🤖 AI 코드 생성기
📦 생성 결과
@Entity
@Table(name = "orders")
@Getter @Setter
public class Order {
@Id @GeneratedValue
private Long orderId;
@ManyToOne
@JoinColumn(name = "user_id")
private User user;
@Enumerated(EnumType.STRING)
private OrderStatus status;
private BigDecimal totalAmount;
private LocalDateTime createdAt;
}
최근 개발 작업
| 모듈 | 담당자 | 커밋 | 상태 | 최근 빌드 |
|---|---|---|---|---|
| OrderService | 최개발 | feat: 주문 생성 API | 개발중 | ✓ 통과 |
| PaymentGateway | 김개발 | fix: 결제 콜백 처리 | PR | ✓ 통과 |
| UserController | 최개발 | refactor: JWT 토큰 분리 | 머지됨 | ✓ 통과 |
| ProductRepo | 이개발 | perf: 검색 인덱스 추가 | 개발중 | ❌ 실패 |
단위 테스트
JUnit · 커버리지 · AI 테스트 케이스 생성
전체 테스트
487
통과
462
실패
12
커버리지
82%
실패한 테스트
| 클래스 | 메서드 | 실패 원인 | AI 분석 |
|---|---|---|---|
| OrderServiceTest | shouldCalculateDiscount | NullPointerException | |
| PaymentTest | shouldRetryOnFailure | Timeout | |
| UserAuthTest | shouldValidateJwt | SignatureException |
통합 테스트
시나리오 · 결함 등록 · 승인 프로세스
테스트 시나리오 (38)
| 시나리오 | 분류 | 담당 | 결과 | 결함 |
|---|---|---|---|---|
| 회원가입 → 로그인 → 주문 → 결제 | 핵심 | QA1 | 통과 | - |
| 상품 검색 → 장바구니 → 결제 실패 → 재시도 | 핵심 | QA1 | 실패 | 3건 |
| 관리자 - 상품 등록 → 노출 → 비활성 | 관리자 | QA2 | 통과 | - |
| 쿠폰 발행 → 사용 → 환불 시 복구 | 프로모션 | QA2 | 진행중 | 1건 |
배포 관리
CI/CD · Docker · Kubernetes · 환경별 배포
DEV
v0.9.1
2시간 전 배포 · 정상
STG
v0.9.0
어제 배포 · 정상
PROD
v0.8.5
3일 전 배포 · 정상
배포 이력
| 버전 | 환경 | 요청자 | 승인자 | 일시 | 결과 |
|---|---|---|---|---|---|
| v0.9.1 | DEV | 최개발 | 김병민 | 오늘 14:20 | 성공 |
| v0.9.0 | STG | 김데브옵스 | 김병민 | 어제 16:00 | 성공 |
| v0.8.5 | PROD | 김데브옵스 | 이리더 | 5/17 22:00 | 성공 |
| v0.8.4 | PROD | 김데브옵스 | 이리더 | 5/12 23:00 | 롤백 |
장애 분석 (EyeScan 연동)
서버 로그 · JS 오류 · 사용자 행동 추적
오늘 장애 (PROD)
7
▲ 3
해결됨
4
미해결
3
🚨 결제 API 500 오류
미해결
발생 시각: 오늘 13:42
영향 사용자: 234명
고객 행동 흐름:
상품 검색 → 장바구니 추가 → 결제 클릭 (오류)
영향 사용자: 234명
고객 행동 흐름:
상품 검색 → 장바구니 추가 → 결제 클릭 (오류)
🤖 AI 원인 분석
원인: PG사 콜백 응답에서
근본 원인: v0.9.1 배포 시 콜백 핸들러의 NPE 가드 제거
수정 제안:
orderId 누락근본 원인: v0.9.1 배포 시 콜백 핸들러의 NPE 가드 제거
수정 제안:
if (callback.getOrderId() == null) {
log.warn("Missing orderId in callback");
return ResponseEntity.badRequest().build();
}
장애 이력
| 장애ID | 제목 | 유형 | 발생일시 | 영향 | 상태 |
|---|---|---|---|---|---|
| INC-001 | 결제 API 500 오류 | 서버 | 오늘 13:42 | 234명 | 미해결 |
| INC-002 | 로그인 JS 오류 (Safari) | 프론트 | 오늘 11:15 | 52명 | 분석중 |
| INC-003 | 상품 이미지 404 | 인프라 | 오늘 09:30 | 1.2k명 | 해결 |
로그 분석
실시간 로그 · 에러 패턴 · 사용자 행동 추적
실시간 로그 스트림
2026-05-20 14:22:01 INFO [http-nio-8080-exec-3] OrderController - 주문 생성 요청 userId=1023 2026-05-20 14:22:01 INFO [http-nio-8080-exec-3] OrderService - 재고 확인: productId=552, qty=2 2026-05-20 14:22:02 INFO [http-nio-8080-exec-3] PaymentClient - PG 결제 요청 amount=49,800 2026-05-20 14:22:03 ERROR [http-nio-8080-exec-3] PaymentCallback - NullPointerException: orderId is null 2026-05-20 14:22:03 ERROR at com.eyefactory.payment.CallbackHandler.handle(CallbackHandler.java:42) 2026-05-20 14:22:03 WARN [http-nio-8080-exec-3] GlobalExceptionHandler - 500 응답 반환 2026-05-20 14:22:05 INFO [http-nio-8080-exec-7] AuthController - JWT 검증 성공 userId=998 2026-05-20 14:22:06 INFO [http-nio-8080-exec-7] ProductController - 상품 검색 keyword="노트북"
산출물 관리
화면정의서 · API · SQL · 테스트 결과 통합
| 산출물명 | 유형 | 버전 | 등록자 | 등록일 | 다운로드 |
|---|---|---|---|---|---|
| 화면정의서_v1.2.xlsx | 화면 | v1.2 | 이설계 | 2026-05-19 | 📥 |
| API명세서_v1.0.pdf | API | v1.0 | 최개발 | 2026-05-18 | 📥 |
| DDL_전체.sql | SQL | v0.9 | 박DBA | 2026-05-17 | 📥 |
| 요구사항정의서_v2.docx | 요건 | v2.0 | 박분석 | 2026-05-15 | 📥 |
| 단위테스트결과_5월.html | 테스트 | v1.0 | QA팀 | 2026-05-14 | 📥 |
승인 관리
단계별 승인 흐름 · 변경 이력 관리
내 승인 대기 (5)
내가 요청한 건 (3)
전체 이력
| 구분 | 제목 | 요청자 | 요청일시 | 액션 |
|---|---|---|---|---|
| 요구사항 | REQ-118 결제 실패 재시도 정책 | 박분석 | 오늘 10:25 | |
| 화면정의 | SCR-042 상품 검색 v0.3 | 이설계 | 오늘 09:12 | |
| API | POST /api/payments | 최개발 | 어제 17:45 | |
| 배포 | v0.9.1 → DEV | 김데브옵스 | 어제 14:00 | |
| 테스트 | 5월 단위 테스트 결과서 | QA팀 | 어제 11:30 |
AI Assistant
Claude · GPT · Qwen · Bedrock 멀티 모델 지원
김
결제 API에서 NPE 나는 원인 분석해줘. 로그는 어제부터.
🤖
로그 분석 결과 PaymentCallback.handle()에서 NullPointerException이 23회 발생했습니다.
원인: PG사 콜백에서
도입 시점: v0.9.1 배포 (5/19 14:20)에서 NPE 가드가 리팩토링 중 제거됨.
수정 코드를 PR로 만들까요?
원인: PG사 콜백에서
orderId 필드가 누락된 케이스가 있는데 가드 코드가 없습니다.도입 시점: v0.9.1 배포 (5/19 14:20)에서 NPE 가드가 리팩토링 중 제거됨.
수정 코드를 PR로 만들까요?
김
응, PR 만들어줘. 그리고 테스트 케이스도 같이 추가해줘.
🤖
네, 다음을 포함한 PR을 생성하겠습니다:
•
•
• 변경 이력 자동 기록
•
CallbackHandler.java NPE 가드 추가•
CallbackHandlerTest.java 누락 케이스 테스트 3건• 변경 이력 자동 기록