ESC
Type to search countries
Navigate

Application Scope

Development progress & changelog

3.8.2
Current Version
11
Platform Apps
40
Releases
152
Total Changes
63
Major Updates
460
Days Active

Platform Apps

11 applications — economies, history, maps, AI, crypto, sports, music, movies, religion, food & more

Explore All

Content Enrichment Across Apps

Added 166 new Wikipedia-sourced articles across World History (+30), Sports (+22), Music (+20), Food (+10 articles + 80 data), Religion (+24).

Data

World Economies Data Expansion

Added 780 new records + updated 243: GDP, inflation, unemployment, trade, reserves, external debt, FDI, Gini index from World Bank and REST Countries.

Data

World Meters Data Expansion

Added 395 new records: population density, birth/death/fertility rates, life expectancy, urban population %, infant mortality, and more from World Bank.

Data

Comprehensive App Data Scraper

New deploy_update/scrape_all_apps.php enriches all 11 affiliate apps with data from REST Countries, World Bank (21 indicators), and Wikipedia (country-specific articles).

Data

Auto-Update History Log

New auto_update_log table tracks all update runs with status, record counts, duration, and source details.

Infrastructure

Auto-Updater Script

deploy_update/auto_updater.php pulls fresh data from REST Countries API, World Bank API, Wikipedia summaries, and local Factbook JSON to update affiliate app content.

Feature

Admin Auto-Update System

New Auto Updates admin tab with configurable update interval (daily/weekly/monthly), data source selection (REST Countries, World Bank, Wikipedia, Factbook JSON), manual update trigger, and cron job setup instructions.

Feature

Footer Partner Apps Limit

Limited footer Partner Apps to 8 entries with a "View All Apps" link as the 9th item pointing to platform-apps.php.

Ui

Explore More Section Optimization

Limited Explore More section to 6 apps with auto-rotation on each visit via session-based shuffling. Added link to platform-apps.php.

Ui

Frontpage Section Height Reduction

Reduced height of Featured Countries + Did You Know and Browse by Region + Data Categories sections by ~50%. Added "View All" links to full pages.

Ui

GDPR Request Processing

Admin can process pending GDPR requests (data deletion, account deletion) and run manual retention cleanup from the admin panel.

Feature

Cookie Consent Banner Upgrade

Upgraded footer cookie banner to GDPR-aware version with granular consent options (essential, analytics, usage) using Alpine.js. Respects admin GDPR settings.

Improvement

GDPR Database Schema

Three new tables: gdpr_consents (consent tracking), gdpr_deletion_requests (deletion queue), gdpr_retention_log (cleanup audit trail).

Infrastructure

GDPR API Endpoint

New api/gdpr.php endpoint supporting consent recording, consent withdrawal, data export, data deletion, account deletion, and settings retrieval.

Feature

GDPR Admin Controls

Admin panel GDPR & Privacy tab with 10 toggles: GDPR master switch, cookie consent, privacy policy, analytics tracking, usage tracking, data retention, data export, data deletion, account deletion, and configurable retention period.

Feature

Privacy & Data Management Page

New privacy.php page where users can manage consent preferences, export personal data as JSON, delete activity data, or permanently delete their account.

Feature

GDPR Compliance System

Full GDPR implementation with consent management, data export, data deletion, and account deletion. Includes granular cookie consent banner with essential/analytics/usage tracking options.

Feature

App scope description updated for 11 apps

Updated app-scope.php Platform Apps description to list all app categories.

Improvement

Navigation fixes across all affiliate app pages

Fixed broken nav links replaced with working Countries page links in all app pages.

Bugfix

Sitemap and sitemap page updated for new apps

Updated sitemap.php XML and sitemap-page.php with countries.php for all 5 new affiliate apps.

Improvement

Partners slider updated with 5 new apps

Added 5 new apps to frontpage partners auto-scrolling slider. Total: 11 partners.

Feature

Browse Countries pages for all 5 new apps

Extracted Browse by Country into dedicated countries.php pages with region filter, letter filter, search, and data count badges.

Feature

5 New Affiliate App Pages: Sports, Music, Movies, Religion, Food

Created full page sets (index.php, country.php, detail.php, countries.php) for World Sports, World Music, World Movies & TV, World Religion & Culture, and World Food & Cuisine apps.

Feature

Admin sidebar: API Management link

Added API Management link with key icon to the External section of the admin panel sidebar navigation.

Ui

Users: Activity tab & stats bar

New Activity tab with 30-day signups bar chart, user role distribution, and recent user activity log from audit_logs. Stats bar shows 8 summary cards: total, active, verified, admins, banned, 2FA, new today, new this week. New verified/unverified filter options.

Feature

Users: Bulk actions

Select-all checkbox with bulk activate, deactivate, verify, and ban actions. Superadmin accounts are protected from bulk operations. All bulk actions are audit-logged.

Feature

Users: Pagination & sorting

User management now paginates at 50 users per page with page navigation. Sort options: newest, oldest, name, last login, role. Search extended to also match by IP address.

Feature

Analytics: Updated sidebar & overview cards

Analytics sidebar now includes 16 sections: Overview, Traffic, Partner Apps, Performance, Searches, Downloads, AI Chatbot, Content, Ads, Announcements, API, Widgets, Users, Newsletter, Security, Audit Log. Overview section expanded to 10 stat cards including Partner App Views and Widget Embeds.

Ui

Analytics: Widget & Newsletter sections

New Widgets section (total views, unique embed domains, per-app breakdown) and Newsletter section (total/active/new subscriber counts) added to analytics dashboard.

Feature

Analytics: Content Overview section

New Content section displaying counts for countries, data records, editions, rankings, resources, and affiliate data/content broken down per app.

Feature

Analytics: Performance Metrics section

New Performance section with average page load time, slow pages (>500ms), hourly traffic distribution bar chart, and API response time tracking.

Feature

Analytics: Partner Apps section

New Partner Apps analytics section showing per-app cards with page views, unique visitors, data count, content count, and online users. Includes combined daily traffic chart and top pages per app.

Feature

Enhanced API Documentation page

Complete rewrite of api-docs.php with sidebar navigation (Alpine.js). Sections: Overview, Authentication, Get API Key, Countries, Timeline, Export, AI Chatbot, Error Codes, Widgets & Embeds, plus dynamic per-app API documentation for all 5 affiliate apps with endpoint tables and embed code examples.

Feature

DB: Widget usage tracking table

New widget_usage table to track embed widget views with app_key, widget_type, embed_domain, IP, user agent, and referrer. Indexed by app_key, created_at, and embed_domain for analytics queries.

Infrastructure

DB: API keys user ownership & approval workflow

Added user_id, status (pending/approved/rejected/revoked), rejected_reason, approved_at, and approved_by columns to api_keys table with indexes. API key requests from api-docs.php now submit as pending for admin approval.

Infrastructure

Admin: API Management Dashboard

New dedicated admin page for managing API keys with 6 tabs: Keys, Usage Analytics, Endpoints, By User, Widget Usage, and App APIs. Supports full CRUD for API keys including approve/reject/revoke/reactivate workflows, rate limit adjustments, per-key detail drill-down with recent call logs, and Chart.js daily API calls chart.

Feature

Sitemap updated with all affiliate sub-pages

XML sitemap now includes sub-pages for each affiliate app (countries, compare, rankings, timeline, regions, article, market, research, history). Visual sitemap-page.php Partner Apps section now shows sub-pages dynamically.

Improvement

Crypto World app created (6th affiliate app)

New affiliate app with index, countries, market, history, research pages. Data scraped from CoinGecko API. Theme: amber-to-orange, bitcoin icon. 187 data records, 8 content articles.

Feature

Frontpage Explore More: 6-column grid for all apps

Changed the Explore More section grid from xl:grid-cols-5 to xl:grid-cols-6 with smaller card sizes and icons so all 6 affiliate apps fit horizontally.

Ui

World AI countries data updated from World Bank API

Updated worldai affiliate_data with 1,394 records from World Bank API covering internet users, mobile subscriptions, patent applications, high-tech exports, and secure internet servers.

Data

World History timeline linked to article detail pages

Timeline events now link to article.php detail pages where matching content exists. Created article.php with sidebar, related articles, breadcrumbs, and styled content layout.

Feature

Old Maps regions.php rewritten with period-based filtering

Completely rewritten to show maps from affiliate_content grouped by category (Ancient, Medieval, Renaissance, Early Modern, Modern). Added clickable filter tabs and styled map cards with images and descriptions.

Improvement

World Economies: full country names in compare and rankings

Joined countries table in compare.php and rankings.php to display full country names instead of GEC abbreviations.

Improvement

Our Partners section converted to auto-scrolling carousel

Replaced static grid layout in shared footer with an Alpine.js auto-scrolling carousel slider with dot indicators, gradient fade edges, and responsive visible count.

Ui

Admin: logo/favicon file upload for affiliate app settings

Added file upload fields (logo_file, favicon_file) to the affiliate settings form with enctype multipart/form-data. Files saved to uploads/affiliates/ with app_key prefix. Shows preview of existing logo/favicon.

Feature

Admin: edit partners with pre-fill form

Added pencil edit button per partner row in admin Affiliates tab. Clicking it pre-fills the add/edit form via JavaScript (editPartner/resetPartnerForm functions). Added Reset button and editing indicator.

Feature

Advertisements now appear on all affiliate app pages

Added renderAdSlot(content_top) to affiliates/shared/header.php and renderAdSlot(content_bottom) to affiliates/shared/footer.php. When ads are enabled in admin, they now display on all affiliate apps.

Feature

Announcements now appear on all affiliate app pages

Added the announcement ticker (from admin panel) to affiliates/shared/header.php. Reads from announcements table and announcement_enabled setting. Includes marquee animation and dismiss button.

Feature

Frontpage nav: Home icon + Apps dropdown

Replaced "Home" text link with a house icon button. Added a grid icon (layout-grid) that opens a dropdown listing all active affiliate apps with gradient icons, names, and short descriptions. Separated from main nav links with a vertical divider.

Ui

Fixed country_data value column reference (value_text not value)

The country_data table uses value_text, not value. Fixed worldeconomies/country.php SQL query and grouping code.

Bugfix

Fixed Unknown column r.category in World Economies country page

The rankings table uses field_name/display_name (not category), value_numeric/value_formatted (not value), and has no total_ranked column. Fixed SQL query and all template references in worldeconomies/country.php.

Bugfix

Fixed collation mismatch in Crypto World countries & index pages

Resolved SQLSTATE[HY000] 1267 Illegal mix of collations error in cryptoworld/countries.php and index.php. Applied COLLATE utf8mb4_unicode_ci on affiliate_data.country_code (general_ci) to match countries.gec_code (unicode_ci). Also fixed in worldeconomies compare.php and rankings.php.

Bugfix

XML sitemap and visual sitemap include affiliate apps

Added affiliate app index URLs to sitemap.php dynamically from affiliate_apps table. Added "Partner Apps" section to sitemap-page.php with app names, icons, and links.

Improvement

AI Chatbot updated with affiliate apps knowledge

Updated buildSiteKnowledge() in ChatController.php with all 5 affiliate apps and their features. Added affiliate app query examples to fallback suggestions.

Improvement

Affiliate app analytics tracking system

Built analytics flow: trackAppPageView() writes to affiliate_analytics_log (raw events) and upserts affiliate_analytics (daily aggregates). affiliate_online table tracks active sessions with 15-minute cleanup. Admin dashboard queries aggregated analytics and live online counts.

Feature

Admin panel — Affiliate Apps management tab

New "Affiliate Apps" tab in admin sidebar. Shows apps table with status indicators, offline/active toggle switches, and analytics summary. Per-app settings editor for title, theme color, description, meta keywords. Per-app analytics view with daily page views and unique visitors. CSRF-protected toggle actions.

Feature

Parent site integration — Explore More, footer links, unified search

Added "Explore More" section on frontpage with affiliate app cards queried from DB. Added "Partner Apps" column in footer with dynamic links. Extended search.php to query affiliate_content via FULLTEXT for unified search results across all apps.

Feature

World AI & Technology app created (affiliate #5)

AI readiness index and digital infrastructure tracker by country. Features country technology profiles, AI milestones timeline, public AI perception data, internet/mobile penetration stats. Path: /affiliates/worldai/

Feature

Old Maps Online app created (affiliate #4)

Historical maps collection organized by region and time period — Ancient, Medieval, Renaissance, Early Modern, and Modern eras. Features map browsing by region with detailed descriptions and source attribution. Path: /affiliates/oldmaps/

Feature

World History app created (affiliate #3)

Historical eras explorer with civilizations, empires, and major events. Features interactive timeline, era-based browsing, and detailed article pages. Path: /affiliates/worldhistory/

Feature

World Economies app created (affiliate #2)

Country economic data explorer with GDP, trade, employment, and financial indicators. Features country profiles, comparison tool, economic rankings, and indicator explorer. Path: /affiliates/worldeconomies/

Feature

World Meters app created (affiliate #1)

Real-time animated world statistics counters built with Alpine.js. Shows live population, births, deaths, CO2 emissions, internet users, and more with smooth counter animations. Path: /affiliates/worldmeter/

Feature

Affiliate Apps platform — shared framework and database schema

Built the complete affiliate apps platform with 8 new database tables (affiliate_apps, affiliate_settings, affiliate_analytics, affiliate_analytics_log, affiliate_content, affiliate_scrapers, affiliate_data, affiliate_online). Created shared framework in affiliates/shared/ with config, header, footer, offline page, PWA manifest generator, sitemap generator, JSON API handler, and embeddable widget generator.

Infrastructure

Affiliate Apps Platform

5 partner applications: World Meters (real-time stats), World Economies (economic data), World History (historical encyclopedia), Old Maps Online (historical maps), World AI and Technology (AI/tech stats). Shared framework with config, header, footer, offline mode. Per-app API, sitemap, PWA manifest, embeddable widgets. Admin panel with offline toggle, settings customization, and per-app analytics. Frontpage Explore More section. Unified search across affiliate content. Cross-linking between all apps. Partner Apps in parent footer and sitemap.

Feature

Rankings Sidebar Expanded to 27 Metrics

Expanded rankings sidebar from 11 to 27 metrics organized in 6 groups with section headers.

Improvement

Fixed GDP Rankings Showing 0 Countries

Fixed 3 GDP rankings showing 0 countries due to field_name mismatch between rankings table and sidebar.

Bugfix

Military Ranking Categories Added

Added 6 new military ranking categories to rebuildRankings(). Total ranking categories now 35.

Feature

Expanded World Bank Military Indicators

Expanded World Bank military indicators from 1 to 5 in EditionBuilder.

Data

GlobalFirepower Scraper for Edition Builder

Added globalfirepower source type to EditionBuilder with scrapeGlobalFirepower() method and parseGfpCountryPage() HTML parser. Covers 145 countries with detailed military strength data.

Feature

Military Data Population System

New standalone import script (populate_military_data.php) fetches military data from World Bank API (5 indicators) and GlobalFirepower (60+ data points per country). Inserts 796+ World Bank records across 169 countries.

Data

Sitemap & Application Scope Updated

Added Contact Us page to visual sitemap. Added grid view to Application Scope page. Fixed changelog version ordering for consistent semantic versioning.

Improvement

Navigation & Footer Updates

Added Contact Us link to header More dropdown, mobile navigation, and footer Resources section. Updated About page with Quick Links section for Sitemap, Application Scope, and Contact Us.

Ui

Two-Factor Authentication Admin Controls

Admin settings to enable/disable 2FA site-wide and require 2FA for admin accounts. Includes live adoption stats showing users and admins with 2FA enabled.

Security

Admin Contact Messages Management

New Contact Messages tab in admin panel for viewing, filtering, and managing contact form submissions. Includes status updates, admin notes, message deletion, and contact page settings.

Feature

Contact Form API with Rate Limiting

Backend API endpoint for contact form submissions with input validation, honeypot spam detection, and IP-based rate limiting (5 per hour).

Feature

Contact Us Page

Professional Contact Us page with interactive globe map (Leaflet.js), contact details, inquiry categories, and modal contact form with CAPTCHA challenge to prevent spam.

Feature

Updated XML sitemap and visual sitemap with all new pages. Application scope changelog updated with v3.2 features.

World rankings now use the 2024 CIA World Factbook edition as the default data source.

Added full CRUD (Create, Read, Update, Delete) for editions, countries, and categories in the admin panel with inline editing.

robots.txt dynamically generated to block scrapers from resource and download folders. Admin toggle to enable/disable scraper protection.

Admin can ban/unban users from discussions, suspend users temporarily, enable/disable accounts, and reject pending users directly from the user management panel.

AI chatbot and research assistant now use the 2024 edition as the primary data source for all queries and responses.

Admins can now toggle which download types are available to users. Per-type enable/disable for editions, resources, CIA archives, Gutenberg, HathiTrust, anthems, bulk packs, rankings export, and country export.

Sitemap Updated with New Edition Pages

XML sitemap dynamically includes all HathiTrust reader pages. The 10 new editions are automatically listed via getHathitrustArchives(). Visual sitemap page badges reflect updated edition counts.

Improvement

Admin Panel: Import Other Archives Script

Added "Import Other Archives (1981-1989, 1998-1999 to DB)" option to the admin import scripts dropdown. Supports single-year or batch processing via CLI argument or admin panel.

Feature

10 New HathiTrust Text Archive Files

Cleaned text files for 1981, 1983-1989, 1998, and 1999 editions copied to /data/archives/hathitrust/. Automatically available in the HathiTrust Reader, Download Center, and Resource Library. SQL backup files generated for each year in /data/import/.

Data

Country Name Aliasing for Historical Editions

Comprehensive alias map resolving 50+ historical country names to current database entries. Covers Cold War-era names (USSR, East/West Germany, Yugoslavia), colonial names (Zaire, Rhodesia, Burma), and format-specific variants (comma-inverted names like "Korea, North").

Data

Gutenberg 1998/1999 Text Parsers

Two dedicated parsers for Project Gutenberg text editions. The 1998 parser handles @Country:Section markers with underscore separators. The 1999 parser handles ====== block separators with @CountryName prefixes. Both resolve country names via aliasing and produce structured field-value records.

Feature

OCR Text Parser for 1980s Factbook Editions

Parses scanned OCR text files for years 1981, 1983-1989. Detects country names by matching against the database, identifies section headers (Geography, People, Government, Economy, Communications, Defense Forces), and extracts field-value pairs with continuation line support. Handles both ALL-CAPS and mixed-case section headers.

Feature

Import 10 Historical Text Editions (1981-1989, 1998-1999)

New import script process_other_archives.php parses CIA World Factbook text editions from Internet Archive and Project Gutenberg. Supports three parser modes: OCR (1981, 1983-1989), Gutenberg98 with @Country:Section markers (1998), and Gutenberg with ====== separators (1999). Imported 124,630 records across 1,754 country-editions.

Data

Sitemap Updates

Added missing pages to XML sitemap and visual sitemap: My Progress, Edition Browser, Forgot Password, and Profile. Visual sitemap now shows 40+ pages across 8 sections.

Improvement

Admin GET Action Protection

All destructive GET-based admin actions (delete/toggle for announcements, ads, resources, paths, lessons, classrooms, API keys) now require a CSRF token and cast IDs to integer to prevent injection.

Security

Learning API Input Hardening

All 7 input handlers in api/learn.php now use InputSanitizer: enrollment, lesson completion, bookmarks, and path import. Slug validation, score range enforcement, and lesson content sanitization added.

Security

Classroom API Input Hardening

All 12 input handlers in api/classroom.php now use InputSanitizer: class creation, assignments, discussions, grading, rubrics, bulk import, and moderation. Array type checks added for nested inputs.

Security

Input Sanitization Library

New InputSanitizer class with 10 methods: text, richText, positiveInt, float, enum, email, url, slug, csvList, and json. Strips dangerous HTML (scripts, iframes, event handlers, JS URIs) while preserving safe formatting tags.

Security

CSRF Protection on Admin Panel

All admin POST forms (settings, announcements, ads, resources, learning paths, lessons) now include CSRF tokens. All destructive GET actions (delete, toggle) require a valid token parameter. Uses Auth::generateCsrfToken/verifyCsrfToken with 2-hour expiry.

Security

Admin Auth Hardening

Replaced hardcoded admin credentials with the Auth system. Admin panel now requires login via the users table with role-based access control — only admin and superadmin roles are permitted. Includes full Auth features: rate limiting, account lockout, and session management.

Security

PHPUnit Test Suite

Test bootstrap, phpunit.xml config, and test classes for SimpleCache, Notification, and Pagination with full coverage of core methods.

Infrastructure

Accessibility Improvements

Added ARIA roles and labels to main navigation, notification bell, and desktop menu bar for screen reader support.

Improvement

Admin Progress Analytics Charts

Enrollment trend line chart and enrollments vs completions bar chart added to admin Learning Paths tab using Chart.js.

Improvement

Discussion Moderation Queue

Students can flag discussion posts. Teachers see flagged posts and can approve or reject them. Notifications sent to teachers.

Feature

Classroom Leaderboard

Real-time leaderboard ranking students by average score and assignments completed. Cached in database for performance.

Feature

Student Analytics Dashboard

My Progress page with XP chart, streak calendar, learning path progress bars, recent quizzes, achievements, and quick links.

Feature

Export/Import Learning Paths

Export learning paths as JSON for backup or sharing. Import JSON to create new paths with all lessons. Admin-only import.

Feature

Admin Dark Mode

Toggle dark mode in admin panel via nav bar button. CSS-based dark theme applied to all cards, tables, inputs, and text.

Ui

PWA Support

Web app manifest, service worker with cache-first for assets and network-first for pages, and automatic SW registration.

Feature

API Rate Limiting

RateLimiter and ApiMiddleware classes enforce per-key hourly rate limits with X-RateLimit headers and 429 responses.

Security

Admin Table Pagination

Reusable Pagination helper class with rendered page controls. Applied to classrooms table with configurable per-page limits.

Improvement

Query Caching Layer

SimpleCache class provides database-backed caching with TTL, remember pattern, enable/disable, and automatic cleanup.

Performance

Bulk Student Import

Teachers can import multiple students into a classroom by username or email. Handles duplicates, capacity limits, and reports results.

Feature

Class Archiving

Teachers can archive and unarchive classes. Archived classes are preserved but hidden from active views.

Feature

In-App Notification System

Real-time notification bell in header with dropdown showing assignment alerts, grade notifications, class joins, path completions, and moderation flags.

Feature

Assignment Rubrics

Teachers can create detailed rubrics with criteria and point breakdowns for assignments. Rubric-based grading with per-criterion scores and feedback.

Feature

Lesson Attachments

Lessons now support file attachments (PDF, images) with sort ordering. Attachments are displayed alongside lesson content.

Feature

Lesson Bookmarking

Users can bookmark lessons for quick access later. Bookmarks include optional notes and are accessible from the My Progress dashboard.

Feature

Learning Path Prerequisites

Paths can now require completion of a prerequisite path before enrollment. Enforced in API and shown in UI.

Feature

Navigation Updates for Learning & Classroom

Added Learning Paths and Classroom links to header dropdown menu, mobile navigation, footer Learning section, XML sitemap, and visual sitemap page.

Ui

Learning Platform Database Schema

Added 9 new database tables for Learning Paths and Classroom features: learning_paths, learning_lessons, user_path_enrollment, user_lesson_progress, classrooms, classroom_students, classroom_assignments, assignment_submissions, classroom_discussions. Seeded 8 learning paths with 36 lessons containing rich educational content.

Data

Classroom / Teacher Mode

Full classroom management system. Teachers can create classes with unique 6-character join codes, invite students, create quiz assignments with configurable difficulty/question count/deadlines/max attempts, view submission status, remove students, and export grades as CSV. Students join classes via code, view assignments with due dates, and submit work. Includes per-class and per-assignment threaded discussion boards with teacher badges. 5 new database tables: classrooms, classroom_students, classroom_assignments, assignment_submissions, classroom_discussions.

Feature

Learning Paths / Guided Curricula

New structured course system with 8 learning paths (World Geography 101, Global Economics, Demographics Deep Dive, World Governments & Politics, Africa Focus, Asia & Oceania Focus, Europe Focus, Americas Focus). Each path contains 4-5 lessons following a Reading → Visual → Quiz → Summary flow. Features include enrollment tracking, per-lesson progress, XP rewards, Chart.js data visualizations from live country data, integrated quiz engine, and certificate of completion. 36 lessons total with rich educational content.

Feature

Updated Application Scope

Added changelog entries for all recent feature additions and improvements.

Improvement

Interactive Visual Sitemap

Created new sitemap-page.php with tree and grid views. Features expandable sections, page badges with counts, color-coded categories, and smooth animations.

Ui

Site Analytics: Edition Updates Section

Added Edition Updates section to analytics page showing full/partial edition counts, records by decade breakdown, and complete edition table with coverage indicators.

Feature

API Key Registration: Login Required

API key requests now require authenticated users. Form pre-fills name and email from user profile. Non-logged-in users see a login prompt.

Security

Download Center: Anthems Tab

Added National Anthems tab to the Download Center with search, play/pause controls, progress bar, download buttons, and session listen/download counters.

Feature

Updated Resource Library

Added 15 new resources including edition guides, analysis documents, field references, and educational materials. Total: 36 resources.

Feature

Expanded Did You Know Facts

Added 61 new curated facts covering geography, demographics, economics, government, military, infrastructure, and culture. Total: 181 facts.

Feature

Added 5 New Flashcard Decks

Created World Regions, World Religions, Independence Dates, Country Climates, and National Anthems flashcard decks. Total: 10 system decks with 1,400+ cards.

Feature

Fixed Quiz Generation Performance

Rewrote quiz question generation to use bulk pre-fetched data instead of per-country queries. Quiz generation is now instant instead of timing out.

Performance

Expanded Glossary to 106 Terms

Added 81 new glossary terms covering economic, demographic, geographic, government, military, infrastructure, and energy categories. All terms include related_field mappings for country data tooltips.

Feature

Development progress page with list and timeline views showing all platform changes.

Auto-generated sitemap.xml updated on every request with all pages, countries, and editions.

Real-time online user counter, admin user management with ban/suspend/reject, visitor analytics (IP, device, location).

25+ defined terms across economic, government, geographic, demographic, military categories. Alphabet browse, search, related field links.

Auto-generated facts from data anomalies, community submissions, upvote/downvote, category filtering.

Spaced repetition (SM-2 algorithm) flashcards. System decks: Capitals, Flags, Currencies, Government Types, Languages. Progress tracking.

Bookmark countries, create named study collections, personal notes, public sharing via token links.

Interactive Chart.js dashboard: population bars, GDP charts, region pie/doughnut, GDP vs Life Expectancy bubble scatter plot.

Full forum system: groups (open/restricted/private), threads, nested replies, reactions, polls, @mentions, notifications, moderation (ban/suspend), reputation system.

XP system with 25 levels, 30 achievements across 6 categories, 5 tiers, streak tracking, leaderboard, country visit tracking.

Daily featured country with deterministic rotation, key facts, map, anthem, streak tracking, XP rewards.

6 quiz modes, 9 question types auto-generated from DB, 3 difficulty levels, region filter, leaderboard, Alpine.js interactive UI.

AIProvider abstraction supporting Local, Ollama, OpenAI, Groq, Together AI, and OpenRouter. Admin-switchable providers.

AI-powered research with 6 database tools (search, compare, rankings, trends, profiles, field discovery). Function calling loop with up to 5 tool calls per query.

Edition archives (JSON/CSV/SQL), resource downloads, bulk packs, download analytics with charts.

jVectorMap integration replacing Leaflet. Click-to-play anthems, country modals, region coloring. 216 local MP3 anthems.

Complete redesign with Inter font, glassmorphism nav, dark mode refinements, card-hover effects, gradient headers across all 17+ pages.

Admin dashboard for site settings, announcements, user management, AI configuration.

Full auth system: registration, login, sessions, 2FA, password policies, CSRF protection, audit logging, rate limiting.

33 editions imported (1990-2024) with 1,400,719 total records. Timeline viewer for historical data comparison.

Hybrid chatbot with SQL-first approach and OpenAI fallback. Natural language queries about country data.

Core platform built with 261 countries, 138,606 data records, 256 flags, 267 maps. Pages: Home, Countries, Country Profile, Compare, Rankings, Regions, Search, About.

World Factbook Assistant

Ask me about any country or world data

Powered by World Factbook data • Answers sourced from country profiles

Stay in the Loop

Get notified about new data editions and features

Privacy & Cookies

We use essential cookies for site functionality. Analytics cookies help us improve your experience. You can manage your preferences anytime. Privacy Policy