FESTAI
FastAPI·PostgreSQL 기반 지역축제 운영 백엔드에서 공개 API 11개를 구현했습니다. 공개·방문객·관리자 권한을 분리하고 승인 데이터 기반 AI 안내, 외부 AI 오류 시 fallback, 방문객 데이터 전처리와 ESG 지표 export를 연결했습니다.
축제 홈·프로그램·구역·시설·지도·혼잡·공지·설문 공개 조회와 방문객 AI 안내
게시된 축제와 승인·게시 콘텐츠만 반환하고, 혼잡·공지·프로그램·ESG 데이터를 AI 컨텍스트로 집계
FastAPI 라우터를 auth·public·visitor·admin·merchant 영역으로 분리하고 공통 응답·레이트 리밋 적용
Alan GET 호출의 URL 길이 문제를 질문별 컨텍스트 선택·상한 처리로 줄이고, 실패 시 기존 fallback 응답 유지
팀 전체 141개 테스트 중 AI festival context 11개·전처리 13개, 총 24개를 직접 작성해 승인 데이터 기반 응답과 예외 경로를 검증
익명 방문 세션은 원문 토큰 대신 해시를 저장하고, 외부 AI 사용 여부를 응답에 드러내도록 설계
방문객 QR 웹, 운영자 콘솔, 참여업체 콘솔이 함께 쓰는 축제 운영 백엔드로, JWT 인증·역할 기반 접근 제어(RBAC)·PostgreSQL 데이터 모델 위에서 11개 라우터·169개 API 엔드포인트·141개 테스트로 구성됩니다(팀 4인 공동 개발).
공개 API(public.py, 11개 엔드포인트) 게시 상태 필터링, 승인된 festival context 기반 AI 안내(ai.py)와 Alan fallback, 방문객 데이터 전처리 파이프라인(preprocessing.py), 축제 ESG 지표 export(esg_export.py), 방문 세션 토큰 해시 처리를 구현하고 테스트 24개로 검증했습니다.