feat: 웹사이트 표준화 검사 도구 구현

- 4개 검사 엔진: HTML/CSS, 접근성(WCAG), SEO, 성능/보안 (총 50개 항목)
- FastAPI 백엔드 (9개 API, SSE 실시간 진행, PDF/JSON 리포트)
- Next.js 15 프론트엔드 (6개 페이지, 29개 컴포넌트, 반원 게이지 차트)
- Docker Compose 배포 (Backend:8011, Frontend:3011, MongoDB:27022, Redis:6392)
- 전체 테스트 32/32 PASS

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
jungwoo choi
2026-02-13 13:57:27 +09:00
parent c37cda5b13
commit b5fa5d96b9
93 changed files with 18735 additions and 22 deletions

View File

@ -0,0 +1,41 @@
"use client";
import { formatDateTime } from "@/lib/constants";
import { Clock, ExternalLink, Timer } from "lucide-react";
interface InspectionMetaProps {
url: string;
createdAt: string;
durationSeconds: number;
}
/** 검사 메타 정보 (URL, 일시, 소요시간) */
export function InspectionMeta({
url,
createdAt,
durationSeconds,
}: InspectionMetaProps) {
return (
<div className="flex flex-wrap items-center gap-4 text-sm text-muted-foreground">
<div className="flex items-center gap-1.5">
<ExternalLink className="h-4 w-4" />
<a
href={url}
target="_blank"
rel="noopener noreferrer"
className="hover:underline text-primary"
>
{url}
</a>
</div>
<div className="flex items-center gap-1.5">
<Clock className="h-4 w-4" />
<span> : {formatDateTime(createdAt)}</span>
</div>
<div className="flex items-center gap-1.5">
<Timer className="h-4 w-4" />
<span> : {durationSeconds}</span>
</div>
</div>
);
}