World Mythology Map — explore myths and folklore on an interactive 3D globe. Stories are pinned as emoji markers; zoom in for clustering, city labels, and a detail panel with bilingual text.
MythAtlas is an interactive globe for exploring myths and folklore from around the world. Each story is tied to a real place—an island, a capital, a mountain pass—so you can discover legends geographically, like travelers sharing stories across cultures.
Browse by country, theme (e.g. dragon, love, flood), or era, and read each story in both English and Chinese. With optional semantic search, you can also explore connections between stories across different cultures.
The types of stories MythAtlas is designed to hold. This is not exhaustive—your live dataset will grow with imports and AI-generated content.
| Tradition | Tale (short hook) |
|---|---|
| China | Chang’e — the moon, the elixir of immortality, and separation from the earth below. |
| China | Meng Jiangnü — grief and the Great Wall as a monument to human cost, not only stone. |
| Japan | Amaterasu — light locked in a cave; Urashima Tarō — the palace under the sea and lost time. |
| Japan | Momotaro — the peach boy, animal allies, and the oni island. |
| Korea | Dangun — bear, tiger, and the founding of the first kingdom; Chunhyang — fidelity across class. |
| Vietnam | Lạc Long Quân & Âu Cơ — dragon and fairy ancestors of the people. |
| Mongolia / steppe | Erlik or epic cycles — underworld, horses, and sky-worship in oral epic. |
| West Africa | Anansi — wit, contracts with the sky god, and who “owns” the stories. |
| Greece | Hero shrines and islands — Odyssey-scale wandering or local oracle lore tied to real geography. |
| Globe | react-globe.gl · emoji markers · zoom-based clustering · English place names (Natural Earth) when zoomed in |
| App | Theme & era filters · country sidebar · semantic search (with optional OpenAI embeddings) |
| API | FastAPI · PostGIS geography · pgvector search · bilingual content stored in PostgreSQL |
Requires: Docker + Compose v2.
cp .env.example .env
# Optional: set OPENAI_API_KEY and ADMIN_TOKEN in .env
docker compose up --build| Service | URL |
|---|---|
App (nginx → UI + /api proxy) |
http://localhost:8080 |
| API (direct) | http://localhost:8000/api |
| Postgres | localhost:5432 · user / pass / db: mythatlas |
First boot: Alembic migrations + seed data.
Custom DB image: docker/db — PostgreSQL 16 + PostGIS + pgvector (plain PostGIS images lack vector).
Reset database (wipes volume): docker compose down -v
backend/ FastAPI · Alembic · scripts
frontend/ Vite · React · TypeScript · Tailwind
docker/ DB image
docs/ Showcase asset
Sample narrative content is for demonstration. See repository for license terms.
世界神话地图 · MythAtlas
