À propos du projet

Gwageo Explorer est une application web Next.js permettant d'explorer les enregistrements de réussite aux examens Gwageo de l'ère Joseon par clan (bongwan), personne et règne. Selon le README, elle s'appuie sur les données publiques de l'Académie d'études coréennes pour fournir 84 525 enregistrements, 2 976 combinaisons de clans, ainsi que des informations sur les relations entre personnes et la localisation des clans. Les fonctionnalités principales incluent la recherche de clans et de noms de famille avec des pages détaillées, l'exploration des enregistrements de réussite (type d'examen, règne, rang), les détails des personnes et leurs réseaux de relations, une carte des lieux d'origine et de résidence des clans sur toute la péninsule coréenne, l'état de recherche par emplacement avec des liens vers des preuves officielles, un résumé IA basé sur NVIDIA NIM (optionnel), ainsi qu'un web responsive et une application Android via Capacitor. La configuration technique utilise Next.js 16.3.1 (App Router, Turbopack) comme framework web pour gérer le SSR, les routes dynamiques et les API Route Handlers. L'UI repose sur React 19.2 et TypeScript 5, le style sur Tailwind CSS 4 et les jetons CSS, et les animations sur anime.js 4. La couche de données combine Prisma 7.9, SQLite et better-sqlite3 pour interroger les archives et les données de clans. La cartographie utilise des tuiles compatibles OpenStreetMap et la projection Web Mercator pour visualiser les lieux d'origine et de résidence. Le résumé IA utilise l'API compatible OpenAI de NVIDIA NIM avec un streaming SSE via un proxy serveur. Pour le mobile, il s'agit de l'application WebView com.spear.gwageo basée sur Capacitor 6, Android SDK 36 et JDK 17. La validation de la qualité est assurée par ESLint 9, tsc --noEmit et Gradle. L'exécution suit l'ordre : npm install, npm run db:push, npm run db:seed, puis npm run dev, le serveur local tournant sur http://localhost:3000. Pour une vérification sans base de données, utiliser DATA_SOURCE=mock npm run dev. La validation peut être effectuée via npm run typecheck, lint, build et npm run audit:release. Le dépôt contient l'architecture, le guide de déploiement, la licence des données et les avis tiers. La licence du code de l'application est MIT, tandis que les tuiles de carte et les données tierces conservent leurs licences et conditions d'attribution d'origine et ne sont pas relicenciées sous MIT. Les emplacements dont les preuves officielles ou licences ne sont pas confirmées sont enregistrés et affichés uniquement comme étant en cours d'examen. Les données sur les personnalités célèbres par clan sont générées par script à partir de 4 549 personnes de 367 clans issus des infobox de Wikipédia (CC BY-SA 4.0). La version fusionnée de Namuwiki (6 341 personnes) est conservée pour un usage local uniquement et n'est pas distribuée en raison des conditions CC BY-NC-SA. La version Android est compilée avec Gradle assembleRelease après configuration du JDK 17 et de l'Android SDK, produisant le fichier android/app/build/outputs/apk/release/app-release-unsigned.apk. Comme la clé de signature de déploiement n'est pas incluse dans le dépôt, l'APK de GitHub Release est un build non signé ; une signature keystore séparée est requise pour l'installation standard ou la distribution sur store.