Application Scope
Development progress & changelog
Platform Apps
11 applications — economies, history, maps, AI, crypto, sports, music, movies, religion, food & more
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).
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.
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.
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).
Auto-Update History Log
New auto_update_log table tracks all update runs with status, record counts, duration, and source details.
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.
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.
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.
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.
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.
GDPR Request Processing
Admin can process pending GDPR requests (data deletion, account deletion) and run manual retention cleanup from the admin panel.
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.
GDPR Database Schema
Three new tables: gdpr_consents (consent tracking), gdpr_deletion_requests (deletion queue), gdpr_retention_log (cleanup audit trail).
GDPR API Endpoint
New api/gdpr.php endpoint supporting consent recording, consent withdrawal, data export, data deletion, account deletion, and settings retrieval.
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.
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.
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.
App scope description updated for 11 apps
Updated app-scope.php Platform Apps description to list all app categories.
Navigation fixes across all affiliate app pages
Fixed broken nav links replaced with working Countries page links in all app pages.
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.
Partners slider updated with 5 new apps
Added 5 new apps to frontpage partners auto-scrolling slider. Total: 11 partners.
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.
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.
Admin sidebar: API Management link
Added API Management link with key icon to the External section of the admin panel sidebar navigation.
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.
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.
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.
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.
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.
Analytics: Content Overview section
New Content section displaying counts for countries, data records, editions, rankings, resources, and affiliate data/content broken down per app.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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/
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/
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/
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/
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/
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.
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.
Rankings Sidebar Expanded to 27 Metrics
Expanded rankings sidebar from 11 to 27 metrics organized in 6 groups with section headers.
Fixed GDP Rankings Showing 0 Countries
Fixed 3 GDP rankings showing 0 countries due to field_name mismatch between rankings table and sidebar.
Military Ranking Categories Added
Added 6 new military ranking categories to rebuildRankings(). Total ranking categories now 35.
Expanded World Bank Military Indicators
Expanded World Bank military indicators from 1 to 5 in EditionBuilder.
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.
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.
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.
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.
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.
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.
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).
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.
Sitemap & Scope Update
Updated XML sitemap and visual sitemap with all new pages. Application scope changelog updated with v3.2 features.
Rankings Updated to 2024
World rankings now use the 2024 CIA World Factbook edition as the default data source.
Admin CRUD Enhancements
Added full CRUD (Create, Read, Update, Delete) for editions, countries, and categories in the admin panel with inline editing.
Web Scraper Protection
robots.txt dynamically generated to block scrapers from resource and download folders. Admin toggle to enable/disable scraper protection.
Enhanced User Management
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 Edition Update
AI chatbot and research assistant now use the 2024 edition as the primary data source for all queries and responses.
Admin Download Access Control
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.
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.
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/.
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").
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
PHPUnit Test Suite
Test bootstrap, phpunit.xml config, and test classes for SimpleCache, Notification, and Pagination with full coverage of core methods.
Accessibility Improvements
Added ARIA roles and labels to main navigation, notification bell, and desktop menu bar for screen reader support.
Admin Progress Analytics Charts
Enrollment trend line chart and enrollments vs completions bar chart added to admin Learning Paths tab using Chart.js.
Discussion Moderation Queue
Students can flag discussion posts. Teachers see flagged posts and can approve or reject them. Notifications sent to teachers.
Classroom Leaderboard
Real-time leaderboard ranking students by average score and assignments completed. Cached in database for performance.
Student Analytics Dashboard
My Progress page with XP chart, streak calendar, learning path progress bars, recent quizzes, achievements, and quick links.
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.
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.
PWA Support
Web app manifest, service worker with cache-first for assets and network-first for pages, and automatic SW registration.
API Rate Limiting
RateLimiter and ApiMiddleware classes enforce per-key hourly rate limits with X-RateLimit headers and 429 responses.
Admin Table Pagination
Reusable Pagination helper class with rendered page controls. Applied to classrooms table with configurable per-page limits.
Query Caching Layer
SimpleCache class provides database-backed caching with TTL, remember pattern, enable/disable, and automatic cleanup.
Bulk Student Import
Teachers can import multiple students into a classroom by username or email. Handles duplicates, capacity limits, and reports results.
Class Archiving
Teachers can archive and unarchive classes. Archived classes are preserved but hidden from active views.
In-App Notification System
Real-time notification bell in header with dropdown showing assignment alerts, grade notifications, class joins, path completions, and moderation flags.
Assignment Rubrics
Teachers can create detailed rubrics with criteria and point breakdowns for assignments. Rubric-based grading with per-criterion scores and feedback.
Lesson Attachments
Lessons now support file attachments (PDF, images) with sort ordering. Attachments are displayed alongside lesson content.
Lesson Bookmarking
Users can bookmark lessons for quick access later. Bookmarks include optional notes and are accessible from the My Progress dashboard.
Learning Path Prerequisites
Paths can now require completion of a prerequisite path before enrollment. Enforced in API and shown in UI.
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.
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.
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.
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.
Updated Application Scope
Added changelog entries for all recent feature additions and improvements.
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.
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.
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.
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.
Updated Resource Library
Added 15 new resources including edition guides, analysis documents, field references, and educational materials. Total: 36 resources.
Expanded Did You Know Facts
Added 61 new curated facts covering geography, demographics, economics, government, military, infrastructure, and culture. Total: 181 facts.
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.
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.
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.
Application Scope / Changelog
Development progress page with list and timeline views showing all platform changes.
Dynamic Sitemap
Auto-generated sitemap.xml updated on every request with all pages, countries, and editions.
Online Users & User Analytics
Real-time online user counter, admin user management with ban/suspend/reject, visitor analytics (IP, device, location).
Glossary / Encyclopedia
25+ defined terms across economic, government, geographic, demographic, military categories. Alphabet browse, search, related field links.
Did You Know? Facts Engine
Auto-generated facts from data anomalies, community submissions, upvote/downvote, category filtering.
Interactive Flashcards
Spaced repetition (SM-2 algorithm) flashcards. System decks: Capitals, Flags, Currencies, Government Types, Languages. Progress tracking.
Bookmarks & Collections
Bookmark countries, create named study collections, personal notes, public sharing via token links.
Data Visualizations
Interactive Chart.js dashboard: population bars, GDP charts, region pie/doughnut, GDP vs Life Expectancy bubble scatter plot.
Discussion Board
Full forum system: groups (open/restricted/private), threads, nested replies, reactions, polls, @mentions, notifications, moderation (ban/suspend), reputation system.
Gamification Engine
XP system with 25 levels, 30 achievements across 6 categories, 5 tiers, streak tracking, leaderboard, country visit tracking.
Country of the Day
Daily featured country with deterministic rotation, key facts, map, anthem, streak tracking, XP rewards.
Learning Platform - Quiz System
6 quiz modes, 9 question types auto-generated from DB, 3 difficulty levels, region filter, leaderboard, Alpine.js interactive UI.
Multi-Provider AI System
AIProvider abstraction supporting Local, Ollama, OpenAI, Groq, Together AI, and OpenRouter. Admin-switchable providers.
Research Assistant
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.
Download Center
Edition archives (JSON/CSV/SQL), resource downloads, bulk packs, download analytics with charts.
Interactive World Map
jVectorMap integration replacing Leaflet. Click-to-play anthems, country modals, region coloring. 216 local MP3 anthems.
UI/UX Professional Overhaul
Complete redesign with Inter font, glassmorphism nav, dark mode refinements, card-hover effects, gradient headers across all 17+ pages.
Admin Panel
Admin dashboard for site settings, announcements, user management, AI configuration.
User Authentication System
Full auth system: registration, login, sessions, 2FA, password policies, CSRF protection, audit logging, rate limiting.
Historical Editions Import
33 editions imported (1990-2024) with 1,400,719 total records. Timeline viewer for historical data comparison.
AI Chatbot Integration
Hybrid chatbot with SQL-first approach and OpenAI fallback. Natural language queries about country data.
Initial Platform Launch
Core platform built with 261 countries, 138,606 data records, 256 flags, 267 maps. Pages: Home, Countries, Country Profile, Compare, Rankings, Regions, Search, About.