← Projects

A-EYE

카메라 피드·검색·리포트를 제공하는 Next.js 기반 스마트 관제 프론트엔드

기간
2024.03 – 2024.06
인원
3명
역할
프론트엔드
기술
Next.js · TypeScript · Recoil

카메라 데이터와 검색 결과를 다루는 관제 UI

  • 3인 팀 프로젝트에서 프론트엔드 담당
  • 로그인·프로필·리포트·카메라 피드·검색 화면 구현
  • Next.js App Router·공통 레이아웃·Recoil 전역 상태 구성, API 호출을 wrapper로 분리
  • MUI와 Docker 기반 개발·배포 구성 적용

썸네일 생성 시 불필요한 원본 해상도 처리

  • CCTV 검색 결과의 썸네일 생성 지연
  • 작은 목록 이미지에도 원본 영상 해상도와 같은 크기의 canvas를 사용하는 처리 경로 확인

표시 용도에 맞춰 canvas 해상도 축소

  • 썸네일 생성 경로의 canvas 가로·세로를 각각 1/4로 축소
  • 처리 화소 수 93.75% 감소
  • 원본 영상이 아닌 목록 표시용 썸네일에 한정해 적용

재현 실험으로 처리 시간 비교

  • 동일 로직 재현 실험의 canvas 처리 중앙값: 13.7ms → 3.3ms, 75.9% 감소
  • 12개 영상의 불러오기·탐색·canvas 처리를 포함한 전체 썸네일 생성 중앙값: 458.1ms → 346.6ms, 24.3% 감소
  • 교과목 A+ 및 대한전자공학회 인공지능학부생 논문경진대회 장려상

페이지·상태·API의 역할 분리

  • App Router 페이지 → 공통 UI 컴포넌트 → Recoil 상태·API wrapper → 백엔드
A-EYE component diagram
페이지·UI 컴포넌트·클라이언트 상태·API·백엔드의 연결 구조