Lexiverse
Lexiverse - AI contextual reading engine for English learners. Your next article is your next review.
Master world geography, flags, capitals, and demographics with interactive quizzes and global daily challenges.
EducationTypeScript · PythonGitHub @KAUSHALCODER123OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗FlagForge is a fast, offline-first interactive world atlas, vexillology quiz arena, and nation demographic comparison platform. Master world geography, national flags, capitals, and geopolitical statistics through real-time quizzes, daily global challenges, and side-by-side data visualizations.
FlagForge uses a unidirectional, typed architecture leveraging Next.js 15 App Router, React 19 Server & Client Components, TanStack Query, and Zustand stores with versioned LocalStorage persistence.
flowchart TD
subgraph DataSources["External APIs & Offline Dataset"]
RC["REST Countries v3.1 (Batch 1 & 2)"]
Wiki["Wikipedia REST Summary API"]
Meteo["Open-Meteo Weather API"]
Fallback["Embedded Fallback Dataset (30 Nations)"]
end
subgraph ServiceWorker["PWA & Service Worker (/public/sw.js)"]
SW["Service Worker Routing Engine"]
CacheFlags["flagforge-v1-flags (Cache-First)"]
CacheAPI["flagforge-v1-data (Stale-While-Revalidate)"]
CachePages["flagforge-v1-pages (Network-First Fallback)"]
end
subgraph StateLayer["Client State & Persistence"]
Query["TanStack React Query Cache"]
ProgStore["useProgressStore (flagforge-progress v2)"]
FavStore["useFavoritesStore (flagforge-favorites v1)"]
SetStore["useSettingsStore (flagforge-settings v2)"]
end
subgraph FeatureModules["Feature Views"]
Explorer["/explore: World Atlas Explorer"]
QuizArena["/play: Vexillology Quiz Arena"]
Daily["/daily: Global Challenge"]
Compare["/compare: Side-by-Side Comparison"]
Stats["/stats: Analytics & Radar Dashboard"]
CountryPage["/country/[code]: Deep Profile"]
end
RC --> SW
Wiki --> SW
Meteo --> SW
Fallback --> SW
SW --> Query
Query --> FeatureModules
ProgStore --> QuizArena
ProgStore --> Daily
ProgStore --> Stats
FavStore --> Explorer
SetStore --> FeatureModules
| Feature | Description | Key Capabilities |
|---|---|---|
| World Atlas Explorer | Filter and search all 250+ sovereign nations and territories | Instant fuzzy search (fuse.js), region & subregion filters, population range slider, landlocked / UN filters, grid / list view, favorite bookmarks. |
| Quiz Arena | Interactive vexillology and geography games | 4 quiz modes (flag_to_country, country_to_flag, capital_to_country, border_challenge), 3 difficulty tiers, speed bonuses, score streaks, live countdown timer, lives mode. |
| Daily Global Challenge | Standardized daily geography challenge | Deterministic PRNG seed based on UTC date, 10 standardized flag questions, shareable emoji results grid, streak preservation. |
| Side-by-Side Compare | Multi-country demographic comparison matrix | Up to 3 countries compared across population, surface area, borders, languages, currencies; interactive Recharts bar charts and demographic radar index. |
| Stats Dashboard | In-depth performance insights & analytics | Historical activity heatmap, region proficiency radar charts, weakest flags review, achievement badges. |
| Deep Country Profiles | Comprehensive national profiles (/country/[code]) | Pre-rendered static pages for major nations, live capital weather from Open-Meteo, Wikipedia summary extracts, interactive border links. |
FlagForge is engineered for rapid keyboard-first navigation and satisfies WCAG 2.2 AA accessibility standards.
| Key Shortcut | Context | Action |
|---|---|---|
| 1, 2, 3, 4 | Active Quiz / Daily Challenge | Select corresponding answer option (A, B, C, D) |
| Space or Enter | Quiz Answer Review | Advance to the next question |
| Esc | Active Quiz | Pause or unpause the game session |
| Ctrl + K / ⌘ + K | Global | Open the instant Command Palette search |
| Tab / Shift + Tab | Global | Accessible focus traversal with visible focus rings |
| Skip to Main Content | Global Header | Immediate keyboard bypass of navigation directly to #main-content |
FlagForge is a Progressive Web App (PWA) that functions offline:
/src/app/manifest.ts) supporting desktop and mobile installation./public/sw.js):
Cache-First): FlagCDN and Wikimedia images are cached locally on first load (flagforge-v1-flags).Stale-While-Revalidate): API calls return instant cached responses while refreshing in the background.Network-First with Cache Fallback): Visited routes are cached in flagforge-v1-pages. If offline, cached views or /offline.html are displayed.src/lib/api/fallback-countries.ts).The typed API layer is housed under /src/lib/api:
restcountries.ts):
wikipedia.ts):
weather.ts):
v20.x or v22.xv9.x or v10.x (corepack enable && corepack prepare pnpm@latest --activate)# Clone the repository
git clone https://github.com/your-org/flagforge.git
cd flagforge
# Install dependencies
pnpm install --frozen-lockfile
# Start Next.js development server
pnpm run dev
Visit http://localhost:3000 to view FlagForge.
# 1. Typecheck TypeScript codebase
pnpm run typecheck
# 2. Run ESLint code quality checks
pnpm run lint
# 3. Execute Vitest unit & component test suite
pnpm run test
# 4. Execute Vitest test suite with coverage
pnpm run test:coverage
# 5. Execute Playwright E2E and WCAG 2.2 AA accessibility audit
pnpm run e2e
# 6. Production build verification
pnpm run build
# Deploy with Vercel CLI
vercel --prod
Configure NEXT_PUBLIC_APP_URL in your environment variables.
# Build and run Docker container
docker compose up -d --build
The application will be running at http://localhost:3000.
For in-depth deployment documentation, see Production Deployment Guide.
For the complete test and accessibility audit report, see QA Report.