프로젝트 소개
과거탐색기(Gwageo Explorer)는 조선시대 과거 합격 기록을 본관·인물·왕대별로 탐색하는 Next.js 웹 애플리케이션입니다. README에 따르면 한국학중앙연구원 공개 데이터를 기반으로 84,525건의 기록, 2,976개 본관 조합, 인물 관계와 본관 위치 정보를 제공합니다.
주요 기능으로는 본관·성씨 검색과 상세 페이지, 합격 기록 및 시험 종류·왕대·순위 탐색, 인물 상세와 관계 네트워크, 한반도 전체 본관 발생지·거주지 지도, 위치별 조사 상태와 공식 근거 링크, NVIDIA NIM 기반 AI 요약(선택 기능), 반응형 웹과 Capacitor Android 앱이 제시되어 있습니다.
기술 구성은 웹 프레임워크로 Next.js 16.3.1(App Router, Turbopack)을 사용해 SSR, 동적 라우트, API Route Handler를 처리하고, UI는 React 19.2와 TypeScript 5, 스타일은 Tailwind CSS 4와 CSS 토큰, 전환 모션은 anime.js 4를 사용합니다. 데이터 계층은 Prisma 7.9와 SQLite, better-sqlite3 조합으로 과거 기록과 본관 조사 데이터를 조회하며, 지도는 OpenStreetMap 호환 타일과 Web Mercator 투영으로 본관 발생지·거주지를 시각화합니다. AI 요약은 NVIDIA NIM의 OpenAI 호환 API와 SSE를 서버 프록시를 통해 스트리밍하는 구조이며, 모바일은 Capacitor 6와 Android SDK 36, JDK 17 기반의 com.spear.gwageo WebView 앱입니다. 품질 검증에는 ESLint 9, tsc --noEmit, Gradle이 사용됩니다.
실행은 npm install, npm run db:push, npm run db:seed, npm run dev 순서로 진행하며 로컬 서버는 http://localhost:3000에서 구동됩니다. DB 없이 확인하려면 DATA_SOURCE=mock npm run dev를 사용하고, npm run typecheck·lint·build와 npm run audit:release로 검증할 수 있습니다. 저장소에는 아키텍처, 배포 가이드, 데이터 라이선스, 제3자 고지 문서가 포함되어 있습니다.
라이선스는 애플리케이션 코드가 MIT이며, 지도 타일과 제3자 데이터는 각 원 라이선스·귀속 조건을 유지하고 MIT로 재허가하지 않는다고 명시되어 있습니다. 공식 근거와 허용 라이선스가 확인되지 않은 위치는 검토 상태로만 저장·표시합니다. 본관별 유명인 데이터는 위키백과 본관 문서 infobox의 주요 인물 4,549명·367개 본관(CC BY-SA 4.0)을 스크립트로 생성하며, 나무위키 병합본(6,341명)은 CC BY-NC-SA 조건 때문에 로컬 전용으로 유지하고 배포하지 않습니다.
Android 릴리스는 JDK 17과 Android SDK를 설정한 뒤 Gradle assembleRelease로 빌드하며, 출력물은 android/app/build/outputs/apk/release/app-release-unsigned.apk입니다. 저장소에 배포용 서명 키가 포함되지 않아 GitHub Release APK는 unsigned 빌드이고, 일반 설치나 스토어 배포에는 별도 keystore 서명이 필요합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.