아키텍처
백엔드 컨텍스트 · 데이터 모델 · 공공데이터
전체 구성
화면은 Vite + React(www/), 백엔드는 FastAPI(adapdog/)입니다. 화면은 API 주소를 /api 로 두고, 배포 환경에서 이 요청을 백엔드로 넘깁니다. 배포용 Dockerfile 은 프론트 빌드 결과를 FastAPI 가 함께 서빙하는 단일 서비스 구성입니다. (근거: Dockerfile, www/vercel.json, adapdog/main.py)
백엔드 컨텍스트
adapdog/apps/ 아래에 4개의 컨텍스트가 있고, 각각 adapter · app · domain · dependencies 층으로 나뉩니다. (근거: 디렉터리 구조, adapdog/main.py 의 라우터 등록)
| 컨텍스트 | 맡은 일 |
|---|---|
map |
장소·입장 판정·코스 플래너·동물병원·둘레길·축제·후기 등 지도 관련 기능 |
users |
계정·반려견·견종 카탈로그·활동 기록·스탬프 |
trips |
코스(여정)와 예약 |
care |
케어 알림, 증상 체크 |
데이터 모델(3NF)
ERD 문서는 지역(region)·분류(category)를 공유 차원으로 두고, 시설·반려견·견종·코스를 3정규형으로 나눠 설계합니다. 시설 본체와 반려동물 정책을 1:1 로 분리하고, 허용 크기처럼 여러 값을 갖는 항목은 별도 테이블로 뺐습니다. (근거: _docs/발자국_ERD.md §5, §7)
활용 공공데이터
저장소 csv/ 에는 공공데이터 CSV 17개가 들어 있습니다. 한국관광공사·한국문화정보원·행정안전부 자료와 전주시·전북특별자치도 자료입니다. (근거: csv/ 파일 목록, ERD §8.7)
- 반려동물 동반 가능 문화시설 위치(한국문화정보원), 전국 배리어프리 문화예술관광지(한국문화정보원)
- 동물병원(전국 동물병원 표준데이터), 전국 도시공원 정보, 전국길관광정보, 고캠핑 목록
- 전주시 음식점 기본·운영·이미지 정보, 모범음식점, 관광 명소, 공공미술, 공연장, 동물등록대행업소
- 전북 문화시설(미술관), 저가숙박시설, 투어패스 여행콘텐츠
MVP 가 돌아가는 방식
포트폴리오 MVP 는 Docker 로 띄운 로컬 Postgres 에 위 CSV 를 적재해서 돌립니다. 외부 API 키 없이 동작하며, 데이터는 실시간 API 가 아니라 번들된 공공데이터 CSV 입니다. AI(Gemini)도 연결하지 않아 코스 생성은 규칙 기반 폴백으로 동작합니다. 화면 상단 배너도 「실서비스 데이터·AI 미연결」이라고 밝힙니다. (근거: docker-compose.demo.yaml, scripts/demo-seed.sh, adapdog/.env.example, www/src/components/DemoBanner.tsx)