Skip to content

sagarcs818/VisionED-performance-predictor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

13 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ VisionED – AI-Powered Student Performance Predictor

Python Flask Machine Learning Scikit-Learn License

VisionED is an AI-powered Student Performance Prediction System that uses Machine Learning (Random Forest Regressor) integrated into a Flask-based web application.

The system predicts End-Semester Marks and Attendance based on students' academic performance indicators such as previous marks and attendance.

This project was developed as a Minor Project for New Government Polytechnic, Patna-13 (NGP).

VisionED provides a structured academic platform where students and administrators can manage academic analytics, study materials, announcements, and academic queries.


πŸš€ Core Features

  • AI-based prediction of End-Semester Marks and Attendance
  • Branch & Semester specific academic analysis
  • Profile completion-based secure dashboard access
  • Structured CSV-based academic data upload system
  • Study material upload and management by Admin
  • Announcement management system
  • Academic query submission and Admin response system
  • Role-based access control (Student / Admin / Super Admin)
  • Student performance analytics dashboard

πŸ–ΌοΈ Application Screenshots

🏠 Home Page

Landing page with role-based login and signup system.

Home Page


πŸŽ“ Student Dashboard

Students can access prediction analysis, study materials, announcements, and academic queries.

Student Dashboard


πŸ‘¨β€πŸ« Admin Dashboard

Administrative control panel used to manage users, upload academic data, and train prediction models.

Admin Dashboard


πŸ“‚ Analytics Data Uploader

Admin selects Branch and Semester, downloads the structured template, fills previous batch data (marks & attendance), and uploads it to train the model.

Analytics Uploader


πŸ“Š Performance Analytics – Part 1

Subject-wise prediction results generated using the Random Forest Regressor model.

Performance Analysis 1


πŸ“Š Performance Analytics – Part 2

Detailed analytics insights based on student academic inputs.

Performance Analysis 2


πŸ‘₯ Registered Users Management

Admin interface used to manage students and other administrators.

Registered Users


πŸ› οΈ Tech Stack

Backend

  • Python
  • Flask
  • Flask-SQLAlchemy
  • Werkzeug

Machine Learning

  • Scikit-learn (Random Forest Regressor)
  • Pandas
  • NumPy
  • OpenPyXL

Frontend

  • HTML5
  • CSS3
  • Bootstrap 5
  • JavaScript

Database

  • SQLite

πŸ€– Machine Learning Approach

The system uses Scikit-learn’s Random Forest Regressor to model nonlinear relationships between academic indicators and final end-semester outcomes.

πŸ“₯ Input Features

  • Previous Semester Marks
  • Previous Semester Attendance Percentage
  • Internal Subject Marks (entered by students during prediction)

🎯 Target Variables

  • Final End-Semester Marks
  • Final End-Semester Attendance

The model is trained separately for each Branch and Semester using structured historical academic data from previous student batches.

Once trained, the system predicts expected end-semester marks and attendance based on student academic inputs.


πŸ“‚ Project Structure

VisionED-performance-predictor/
β”‚
β”œβ”€β”€ static/
β”‚   └── uploads/
β”‚       └── images/
β”‚           β”œβ”€β”€ admin_default.png
β”‚           β”œβ”€β”€ student_default.png
β”‚           └── profile images...
β”‚
β”œβ”€β”€ templates/
β”‚   β”œβ”€β”€ admin_dashboard.html
β”‚   β”œβ”€β”€ admin_material_uploader.html
β”‚   β”œβ”€β”€ admin_announcements.html
β”‚   β”œβ”€β”€ registered_users.html
β”‚   β”œβ”€β”€ student_dashboard.html
β”‚   β”œβ”€β”€ student_analytics.html
β”‚   β”œβ”€β”€ profile_student.html
β”‚   β”œβ”€β”€ profile_admin.html
β”‚   β”œβ”€β”€ login.html
β”‚   β”œβ”€β”€ signup.html
β”‚   β”œβ”€β”€ index.html
β”‚   β”œβ”€β”€ contact.html
β”‚   β”œβ”€β”€ blog.html
β”‚   β”œβ”€β”€ faq.html
β”‚   β”œβ”€β”€ privacy.html
β”‚   β”œβ”€β”€ team.html
β”‚   └── other templates...
β”‚
β”œβ”€β”€ app.py
β”œβ”€β”€ requirements.txt
└── README.md

βš™οΈ Installation & Setup

1️⃣ Clone the Repository

git clone https://github.com/sagarcs818/VisionED-performance-predictor.git
cd VisionED-performance-predictor

2️⃣ Create Virtual Environment

Windows

python -m venv venv
venv\Scripts\activate

macOS / Linux

python3 -m venv venv
source venv/bin/activate

3️⃣ Install Dependencies

pip install -r requirements.txt

4️⃣ Configure Secret Key

Open app.py and update:

app.secret_key = "your_strong_secret_key_here"

πŸ” This key is used to:

  • Secure login sessions
  • Protect admin authentication
  • Prevent session tampering
  • Enable flash messages

Replace it with a strong random string.

⚠ If this key changes later, all users will be logged out automatically.


5️⃣ Default Admin Codes (First Run)

  • Admin Signup Code: 1234
  • Super Admin Code: 5678

These can be changed later from the Admin Profile Page.


6️⃣ Run the Application

python app.py

7️⃣ Open in Browser

http://127.0.0.1:5000/

πŸ”„ System Workflow

The following diagram illustrates how users navigate through the system and how workflows are connected:

Workflow diagram


πŸ‘¨β€πŸ’Ό Administrator Workflow

πŸ” Step 1: Registration & Access

  1. Register using the provided Admin Code
  2. Login to the system
  3. Complete required profile details
  4. Access the Admin Dashboard

⚠ Profile completion is required to access dashboard features.


πŸ“Š Step 2: Upload Historical Academic Data

  1. From the Admin Dashboard, navigate to Material Uploader
  2. Select Upload Analytics Data
  3. Choose:
    • Branch
    • Semester
  4. Download the structured CSV template generated by the system

The template includes required columns such as:

  • Previous Semester Marks
  • Attendance Percentage
  • Final End-Semester Marks

πŸ“‚ Step 3: Train the Prediction Model

  1. Fill the CSV template with historical student data
  2. Ensure the column structure is correct
  3. Upload the completed CSV file
  4. The system trains the Random Forest model

Once uploaded successfully, the system becomes ready to generate predictions for students.


πŸ“š Administrator Dashboard Capabilities

After profile completion, Administrators can:

  • πŸ“‚ Upload study materials
  • πŸ“’ Post announcements
  • ❓ Respond to student queries
  • πŸ‘₯ Manage registered users
  • πŸ“Š View student prediction analytics
  • πŸ›‘ Super Admin privileges for managing other admins

πŸ‘¨β€πŸŽ“ Student Workflow

πŸ” Step 1: Registration & Access

  1. Register as a Student
  2. Login to the system
  3. Complete academic profile:
    • Branch
    • Semester

⚠ Profile completion is required to access dashboard features.


πŸ“ˆ Step 2: Performance Analysis

Navigate to Performance Analysis and enter:

  • Internal Subject Marks
  • Previous Semester Marks
  • Previous Semester Attendance Percentage

πŸ€– Step 3: AI-Based Prediction

  1. Submit academic inputs
  2. The system runs the trained Random Forest model
  3. Predicted End-Semester Marks and Attendance are displayed

πŸ“š Student Dashboard Features

After profile completion, Students can:

  • πŸ“Š Perform performance analysis
  • πŸ“‚ View & download study materials
  • πŸ“’ View announcements
  • ❓ Submit academic queries
  • πŸ‘ Interact with posts (Like / Reply)

🎯 Project Objective

VisionED aims to:

  • Identify students at academic risk early
  • Provide AI-based academic insights
  • Improve academic decision making
  • Digitize academic analytics in institutions

⭐ If you found this project useful, consider starring the repository.


πŸ“œ License

This project is licensed under the MIT License.

See the LICENSE file for more information.

About

AI-powered student performance prediction system built with Flask and Scikit-learn featuring dynamic model training, role-based dashboards, analytics management, and interactive academic forum.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors