사례 인덱스

개인 프로젝트 · 진단 제품

도메인 진단 SaaS

외부 웹사이트를 수집해 7개 영역·48개 항목을 진단하고, 수집 실패와 실제 문제를 구분한 결과를 웹과 PDF로 제공했습니다.

역할
제품 설계 · 풀스택 개발
영역
B2B 진단 제품
구분
개인 프로젝트

문제와 제약

높은 평균 점수가 치명적 위험을 가리거나, 수집 실패가 낮은 품질로 오해되면 진단 제품의 신뢰가 무너집니다.

  • 01외부 URL은 사설 네트워크 접근과 과도한 요청을 막아야 했습니다.
  • 02AI가 만든 진단 결과는 출처, 모델 버전, 오류와 비용을 함께 기록해야 다시 확인할 수 있었습니다.
  • 03웹 화면과 PDF에서 같은 판정 결과를 보여줘야 했습니다.

내가 맡은 범위

  1. 01URL 입력부터 수집·분석·점수화·리포트까지의 제품 흐름 설계
  2. 02HTTP 우선 수집과 SPA 징후가 있을 때의 브라우저 전환 구현
  3. 03측정 불가와 실제 실패의 분리, 핵심 위험 상한 규칙 구현
  4. 04URL·화면 캡처·신뢰도와 개선 우선순위 기준 정리

핵심 판단

01

총점보다 치명적 위험을 우선했습니다.

핵심 위험이 확인되면 다른 항목의 높은 점수가 이를 희석하지 않도록 점수 계산에 상한 원칙을 반영했습니다.

02

측정 실패를 낮은 품질로 단정하지 않았습니다.

타임아웃·차단·외부 오류는 측정 불가로 분리하고, 확인하지 못한 사실을 낮은 점수처럼 보여주지 않았습니다.

03

웹 화면과 PDF가 같은 판정 결과를 보여주게 했습니다.

결과를 보여줄 수 있는지 판단하는 함수를 함께 사용해 두 화면의 내용이 달라지지 않게 했습니다.

04

브라우저 자동화는 필요한 페이지에만 사용했습니다.

먼저 HTTP 응답을 분석하고 SPA 징후나 렌더링 의존성이 있을 때만 브라우저 수집으로 전환해 비용과 실패 지점을 줄였습니다.

05

점수 옆에 다음 작업을 남겼습니다.

URL·화면 캡처·신뢰도를 근거로 저장하고, 발견 항목을 영향도·수정 비용·담당 기준으로 정리해 보고서에서 바로 개선 순서를 확인할 수 있게 했습니다.

구현한 내용

  1. 01Next.js 웹과 FastAPI 비동기 작업
  2. 02SSRF 방어·요청 제한·HTTP 우선 수집·조건부 브라우저 전환
  3. 03근거가 보이는 점수 계산과 측정 불가 처리
  4. 04URL·화면 캡처·신뢰도 기록
  5. 05영향도·수정 비용·담당 기준이 있는 웹·PDF 보고서
진단과 보고서 생성 흐름작동 흐름
  1. 01URL 확인
  2. 02비동기 수집
  3. 03진단·점수 계산
  4. 04근거 기록
  5. 05웹·PDF 결과

이해를 돕기 위해 주요 단계만 단순화했습니다.

구현과 결과

구현 내용

  • 01

    7개 영역·48개 항목의 진단 구조를 구현했습니다.

  • 02

    점수 계산, 수집 안전성, AI 오류·예산과 웹·PDF 표시를 다루는 테스트 코드를 작성했습니다.

결과

  • 01

    수집에 실패한 항목은 낮은 점수 대신 ‘측정 불가’로 표시하고, 발견 항목마다 URL·화면 캡처와 수정 우선순위를 붙였습니다.