Skip to content

rishabhamar/student-performance-analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

18 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ Student Performance Analysis Project ๐Ÿ“Š

This project analyzes student performance data to identify trends, cluster students based on their performance, and provide actionable insights into their academic progress. It leverages Python for data processing and analysis, and a React-based web interface for user interaction.

๐Ÿ“š Table of Contents

๐ŸŽฏ Project Goals

  • Identify trends in student performance over time.
  • Cluster students into performance groups (e.g., Strong, Average, Weak).
  • Provide a user-friendly web interface for data upload, analysis, and visualization.
  • Generate reports that can be used by educators and administrators.

๐Ÿ› ๏ธ Technologies Used

Backend (Python):

  • ๐Ÿ Python
  • ๐Ÿผ Pandas
  • ๐Ÿ”ข NumPy
  • ๐Ÿ“ˆ Matplotlib
  • ๐Ÿ“Š Seaborn
  • ๐Ÿค– Scikit-learn

Frontend (React):

  • โš›๏ธ React
  • ๐Ÿ—บ๏ธ React Router
  • ๐ŸŽจ Material UI (MUI X Charts, Typography)
  • ๐Ÿ”— Axios
  • โฌ‡๏ธ js-file-download
  • ๐Ÿ”ค react-icons
  • โœจ AOS (for animations)
  • ๐ŸŒˆ Tailwind CSS

โš™๏ธ Setup (Backend - Python)

  1. Clone the repository:
    git clone https://github.com/rishabhamar/student-performance-analysis
  2. Navigate to the project directory:
    cd student-performance-analysis/backend  # Go to the backend directory
  3. Create a virtual environment (recommended):
    python3 -m venv venv
    source venv/bin/activate  # On Linux/macOS
    venv\Scripts\activate  # On Windows
  4. Install dependencies:
    pip install -r requirements.txt
  5. Run the backend:
    python app.py

๐Ÿ’ป Setup (Frontend - React)

  1. Navigate to the frontend directory:
    cd student-performance-analysis/frontend
  2. Install dependencies:
    npm install
    # or
    yarn install
  3. Start the development server:
    npm start
    # or
    yarn start
    This will start the development server and open the application in your browser.

๐Ÿ’ก Usage

๐Ÿ“‚ File Upload

  • Upload CSV files containing student data (train, test, or combined).

๐Ÿง‘โ€๐ŸŽ“ Student Details

  • View individual student profiles, including enrollment number, name, and division.

๐Ÿ“ˆ Performance Analysis

  • Analyze student performance by subject.
  • View trends over time using line charts.
  • Compare performance against class averages.
  • Use filters to select specific subjects.
  • Visualize class performance breakdown using pie charts.

โฌ‡๏ธ Download Data

  • Download the processed data in Excel format.

๐Ÿงฎ Data Processing (Python)

๐Ÿ’พ Data Extraction

  • Data is loaded from CSV files using Pandas.

๐Ÿงน Data Preparation

  • Handling missing values (imputation or removal).
  • Data type conversion.
  • Feature identification (numerical and categorical).

โœจ Data Transformation

  • Feature scaling (e.g., StandardScaler).
  • Feature engineering.

๐Ÿ“Š Exploratory Data Analysis (EDA)

  • Visualizations (histograms, box plots, scatter plots).
  • Statistical summaries.
  • Correlation analysis.

๐Ÿค– Modeling

  • Clustering algorithms (e.g., K-Means, Agglomerative Clustering).

๐Ÿ“ˆ Evaluation

  • Performance metrics (e.g., silhouette score).
  • Trend analysis.

๐Ÿ–ผ๏ธ Screenshots

1. Intro Page

Intro Page Screenshot A welcoming introduction to the Student Performance Analysis web app.

2. Role Selection

Role Selection Screenshot Users can select their role (Student, Teacher, or Admin).

3. File Upload

File Upload Screenshot Uploading student data in CSV format.

File Upload Screenshot Viewing individual student profiles and information.

4. Performance Analysis - Overview

Performance Analysis Overview Screenshot

Performance Analysis Subject Screenshot A summary of student performance across subjects.

5. Download Data

Performance Analysis Trend Screenshot Visualizing student performance trends over time.

๐Ÿ“ฝ๏ธ Video

WhatsApp.Video.2025-02-06.at.1.39.53.PM.1.mp4

โœจ Future Enhancements

  • Backend Integration: Fully integrate the frontend with a robust backend.
  • User Authentication: Implement secure user authentication based on roles (Student, Teacher, Admin).
  • Improved UI/UX: Enhance the user interface and user experience based on user feedback.
  • Interactive Charts: Make the charts more interactive and customizable.
  • More Detailed Analysis: Provide more in-depth performance analysis options, such as percentile rankings, subject-specific insights, and predictive modeling.
  • Data Validation: Add robust data validation for uploaded CSV files to prevent errors.
  • Reporting: Generate automated reports for teachers and administrators.

๐Ÿค Contributing

Contributions are welcome! Please open an issue or submit a pull request.

About

This project analyzes student performance data to identify trends, cluster students based on their performance, and provide actionable insights into their academic progress.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors