
Explore the full-stack technical blueprint powering onyx-learning โ a seamless pipeline from a responsive React interface through a Python Flask API to a scikit-learn classification model that delivers real-time student performance insights.
Four integrated layers form the complete pipeline โ from student data entry through to classified performance outputs and personalised study recommendations.
A responsive single-page application built with React. Provides form-based data entry, a live dashboard with progress rings, and downloadable report views.
Python Flask REST API handling input validation, CSV ingestion, model inference calls, and JSON response serialisation. Stateless and easily containerised.
A trained Random Forest classifier that maps marks, study time, and attendance to performance levels: Beginner, Intermediate, or Advanced, with recommendation output.
Structured JSON output rendered on the dashboard and compiled into downloadable PDF/HTML reports summarising performance classification and personalised study plans.
Hover over any node to explore component details. Connection lines trace live data flow from browser input to ML prediction and report output.
System Architecture
A detailed look at each layer of the onyx-learning stack โ from the React frontend through the Flask API to the scikit-learn classification engine.
Layer 01 โ UI
A React 18 single-page application providing an intuitive interface for students and admins. Handles all data input, visualization, and report generation client-side.
Key Capabilities
Layer 02 โ API
A Python Flask REST API serving as the bridge between the React frontend and the ML model. Manages data validation, model orchestration, and structured JSON responses.
Key Capabilities
Layer 03 โ Intelligence
A scikit-learn Random Forest classifier trained on student performance data. Outputs performance level classifications (Beginner, Intermediate, Advanced) and drives personalized study plan recommendations.
Key Capabilities
Step-by-step flow for both Admin and Student personas โ from data entry through classification to report generation.
Trace a single student submission from raw form input through validation, preprocessing, ML inference, and final output โ end-to-end in under 2 seconds.
Student submits academic data via the web form โ subject marks (0โ100), weekly study hours, and attendance percentage. Input is collected as a structured JSON payload and queued for validation.
Flask backend enforces schema validation โ range checks on marks (0โ100), attendance (0โ100%), and study hours. Malformed or out-of-range fields are rejected early with structured error responses before touching the ML pipeline.
Validated data is normalized via the preprocessing pipeline โ StandardScaler transforms raw features into model-ready tensors. Weak subject detection flags below-threshold marks for targeted recommendations downstream.
The trained RandomForestClassifier receives the scaled feature vector and produces a performance-level prediction โ Beginner, Intermediate, or Advanced โ along with per-class confidence scores used to rank study recommendations.
Results are serialized into a structured JSON response: performance tier, confidence breakdown, personalized study plan per weak subject, and a downloadable PDF report. The React frontend renders results on the Dashboard in under 2 seconds end-to-end.
Every layer of the onyx-learning stack is purpose-selected for performance, simplicity, and a seamless developer experience.
Component-based UI library powering the student dashboard, input forms, and interactive data visualizations with real-time state management.
Lightweight Python web framework handling REST endpoints for ML inference, dataset uploads, report generation, and admin operations.
Trains and runs the classification model that segments students into Beginner, Intermediate, and Advanced performance tiers with personalized recommendations.
Structured tabular data source containing student marks, study hours, and attendance records used for model training and batch inference.
Containerizes the full application stack โ React client, Flask server, and ML pipeline โ ensuring consistent environments from development to deployment.
Measured performance characteristics of the onyx-learning platform โ from ML inference speed to system-wide availability targets.
Explore the full technical documentation of the onyx-learning stack โ from the React frontend and Flask REST API to the scikit-learn classification engine. Start integrating personalized learning intelligence into your project today.
No comments yet. Be the first!