본 프로젝트의 API는 사용자 신고 등록, AI 탐지 결과 저장, 관리자 대응, 실시간 알림, 비교분석 기능을 하나의 흐름으로 연결하기 위해 설계하였다. 전체 흐름은 사용자 입력 → 신고 등록 → 파일 업로드 → AI 분석 → 결과 저장 → 관리자 알림 → 비교분석 순서로 구성된다.
사용자 요청 → Flask API → Service Layer → Repository/Model → MySQL 저장 → 응답 반환
로그인/권한 → 신고 등록 → 파일 저장 → AI 탐지 → 결과 저장 → 알림 발생 → 관리자 처리 → 비교분석
사용자 로그인, 로그아웃, 권한 신청 등 사용자 인증과 권한 관리를 담당한다. 로그인과 권한 구분 기능이 프로젝트 기본 기능으로 정의되어 있다.
사용자가 이미지/영상과 함께 신고를 등록하고, 신고 목록/상세를 조회하는 기능을 담당한다. 신고 기능에는 이미지 업로드, 영상 업로드, 카메라 촬영, 신고 내용 저장이 포함된다.
업로드된 파일에 대해 객체 탐지를 수행하고, 탐지 결과를 DB에 저장한다. 탐지 결과는 Bounding Box, confidence, 프레임 정보 등을 포함한다.
관리자 대시보드, 전체 신고 관리, 상태 변경, 실시간 알림 확인 등 운영 관리 기능을 담당한다. 관리자 기능에는 전체 신고 리스트 조회, 상세 보기, 상태 변경이 포함된다.
특정 신고를 기준으로 여러 AI 모델을 실행하고, 실행 이력과 상세 결과를 조회한다. 비교분석은 신고 상세/신고 리스트에서 실행되고, 결과는 별도 테이블에 저장된다.