Evidence-Grounded AI Explanation for Heterogeneous Educational Data
Capability-Aware Learning Analytics is a research prototype for heterogeneous educational data. It maps imported datasets to a canonical educational schema, validates which analytical tasks are supported by the available evidence, executes deterministic analyses, renders role-specific visualizations, and generates structured, evidence-grounded AI explanations.
This repository provides the public-facing implementation and aggregate evaluation results accompanying the research paper.
| Component | Technologies | Responsibility |
|---|---|---|
Frontend/ |
React, Vite, Recharts | Dataset import, dashboards, analytics, and visualization |
Backend/ |
Node.js, Express, Prisma, PostgreSQL | Profiling, mapping, normalization, task execution, and AI proxying |
AIService/ |
Python, FastAPI, Pydantic | Deterministic summaries, explanation strategies, validation, and safety filtering |
- Node.js and npm
- Python 3.10 or later
- PostgreSQL
- An OpenAI API key only when AI-generated explanations are enabled
Create local configuration from the provided examples. Never commit the
resulting .env files.
Copy-Item Frontend/.env.example Frontend/.env
Copy-Item Backend/.env.example Backend/.env
Copy-Item AIService/.env.example AIService/.envReview each value before starting the services. The default URLs assume:
- Frontend:
http://localhost:5173 - Backend API:
http://localhost:4000 - AI service:
http://localhost:8000
Set-Location Frontend
npm.cmd ci
Set-Location ../Backend
npm.cmd ci
Set-Location ../AIService
python -m pip install -r requirements.txtStart each component in a separate terminal.
# Terminal 1
Set-Location Backend
npm.cmd run dev
# Terminal 2
Set-Location AIService
python -m uvicorn main:app --reload --port 8000
# Terminal 3
Set-Location Frontend
npm.cmd run devDatabase migrations must be applied before using the import pipeline:
Set-Location Backend
npm.cmd run generate
npm.cmd run migrateSet-Location Frontend
npm.cmd test
npm.cmd run lint
npm.cmd run build
Set-Location ../Backend
npm.cmd test
Set-Location ..
python -m unittest discover -s AIService/tests -p "test_*.py"The public reproduction package reconstructs the paper-facing aggregate tables
from sanitized evaluation records and documents fresh reruns from the official
UCI and OULAD datasets. See REPRODUCIBILITY.md for the
scope, commands, expected outputs, and reproducibility boundaries.
Raw datasets, record-level outputs, model prompts, detailed judge artifacts,
and internal logs are not distributed in this repository. Public examples must
use synthetic or appropriately licensed data. Reviewed aggregate results,
scope notes, and machine-readable paper tables are available under
results/.
This repository contains the public-facing research prototype and reviewed aggregate evaluation results. Raw datasets, detailed evaluation artifacts, model logs, and internal research documents are maintained separately.
A public license, citation metadata, and self-contained example fixtures will be added before the official open-source release.
This repository accompanies the manuscript “Capability-Aware Learning Analytics with Evidence-Grounded AI Explanation for Heterogeneous Educational Data,” which is currently under review at FDSE 2026.
If you use this repository in your research, please cite:
@misc{nguyenluong2026capabilityaware,
author = {Nguyen-Luong, Gia-Bao and Le-Thi, Ngoc-Chau and
Tran, Hung-Nghiep},
title = {Capability-Aware Learning Analytics with
Evidence-Grounded {AI} Explanation for Heterogeneous
Educational Data},
year = {2026},
howpublished = {Manuscript under review at FDSE 2026},
url = {https://github.com/UNKN-Lab/capability-aware-learning-analytics}
}