Skip to content

ScoreVista is a web-based Student Result Management System built using PHP and MySQL. It allows administrators to upload student marks, automatically calculates grades, and enables students to securely view their academic performance.

Notifications You must be signed in to change notification settings

12MANOJKUMAR/scorevista

Repository files navigation

Student Result Management System

A comprehensive web-based application for managing student results, built with Core PHP and MySQL. The system provides separate interfaces for administrators and students with secure authentication, automatic grade calculation, and PDF result generation.

Features

Admin Features

  • Secure Admin Login: Role-based authentication system
  • Student Management: Add, view, and delete students
  • Subject Management: Create and manage subjects with maximum marks
  • Result Management: Upload and manage student marks for different subjects
  • Dashboard: Overview of system statistics (total students, subjects, results)
  • View Results: View and manage results for any student

Student Features

  • Secure Student Login: Individual student authentication
  • View Results: Access personal results with detailed breakdown
  • Dashboard: Personal information and result summary
  • PDF Download: Generate and download result PDF

System Features

  • Automatic Calculations:
    • Total marks calculation
    • Percentage calculation
    • Grade assignment (A+, A, B+, B, C+, C, F)
    • Grade point calculation
    • Pass/Fail status determination
  • Secure Authentication: Password hashing using bcrypt
  • Input Validation: Comprehensive form validation
  • Responsive Design: Bootstrap 5 based responsive UI
  • PDF Generation: HTML-based PDF generation for results

Technology Stack

  • Backend: Core PHP 7.4+
  • Database: MySQL 5.7+
  • Frontend: HTML5, CSS3, Bootstrap 5.3
  • Icons: Bootstrap Icons
  • Server: Apache (XAMPP/WAMP/LAMP)

Installation

Prerequisites

  • PHP 7.4 or higher
  • MySQL 5.7 or higher
  • Apache Web Server
  • XAMPP/WAMP/LAMP (recommended)

Step 1: Clone/Download the Project

Place the project in your web server directory:

  • XAMPP: C:\xampp\htdocs\ScoreVista
  • WAMP: C:\wamp64\www\ScoreVista
  • LAMP: /var/www/html/ScoreVista

Step 2: Database Setup

  1. Open phpMyAdmin (http://localhost/phpmyadmin)
  2. Import the database schema:
    • Click on "Import" tab
    • Choose file: database/schema.sql
    • Click "Go" to import

Alternatively, you can run the SQL file directly:

-- Execute the contents of database/schema.sql

Step 3: Database Configuration

Edit config/database.php and update the database credentials if needed:

Step 4: Base URL Configuration

Edit config/config.php and update the BASE_URL if your project is in a subdirectory:

define('BASE_URL', 'http://localhost/ScoreVista/');

Step 5: Access the Application

  1. Start Apache and MySQL services
  2. Open your browser and navigate to:
    http://localhost/ScoreVista/
    

Default Login Credentials

Admin Login

  • Username: admin
  • Password: admin123

Student Login

  • Students need to be created by admin first
  • Default password will be set when admin creates a student account

Project Structure

ScoreVista/
├── admin/              # Admin module
│   ├── dashboard.php   # Admin dashboard
│   ├── students.php    # Manage students
│   ├── subjects.php    # Manage subjects
│   └── results.php     # Manage results
├── assets/             # Static assets
│   ├── css/
│   │   └── style.css   # Custom styles
│   └── js/
│       └── main.js     # JavaScript functions
├── auth/               # Authentication
│   ├── login.php       # Login page
│   └── logout.php      # Logout handler
├── classes/            # PHP classes
│   ├── Auth.php        # Authentication class
│   ├── GradeCalculator.php  # Grade calculation logic
│   ├── PDFGenerator.php      # PDF generation
│   └── Validator.php         # Input validation
├── config/             # Configuration files
│   ├── config.php      # Application config
│   └── database.php    # Database connection
├── database/           # Database files
│   └── schema.sql      # Database schema
├── includes/           # Common includes
│   ├── header.php      # Page header
│   └── footer.php      # Page footer
├── student/            # Student module
│   ├── dashboard.php   # Student dashboard
│   └── results.php     # View results
└── index.php           # Entry point

Grading System

The system uses the following grading scheme:

Percentage Grade Grade Point Description
90-100% A+ 10 Outstanding
80-89% A 9 Excellent
70-79% B+ 8 Very Good
60-69% B 7 Good
50-59% C+ 6 Average
40-49% C 5 Pass
Below 40% F 0 Fail

Pass Criteria: Minimum 40% overall percentage required to pass.

Security Features

  1. Password Hashing: All passwords are hashed using PHP's password_hash() with bcrypt
  2. SQL Injection Prevention: Prepared statements used throughout
  3. XSS Protection: Input sanitization using htmlspecialchars()
  4. Session Management: Secure session handling
  5. Role-Based Access Control: Separate access for admin and students
  6. Input Validation: Comprehensive validation on all forms

Usage Guide

For Administrators

  1. Login: Use admin credentials to access the admin panel
  2. Add Students:
    • Go to "Students" menu
    • Fill in student details
    • Click "Add Student"
  3. Add Subjects:
    • Go to "Subjects" menu
    • Enter subject name, code, and maximum marks
    • Click "Add Subject"
  4. Upload Results:
    • Go to "Results" menu
    • Select a student
    • Select subject and enter marks
    • Click "Save Result"

For Students

  1. Login: Use student ID and password provided by admin
  2. View Dashboard: See personal information and result summary
  3. View Results: Access detailed subject-wise results
  4. Download PDF: Click "Download PDF" to generate result PDF

Database Schema

Tables

  1. admins: Stores admin user credentials
  2. students: Stores student information
  3. subjects: Stores subject details
  4. results: Stores student marks for each subject

Relationships

  • results.student_idstudents.id (Foreign Key)
  • results.subject_idsubjects.id (Foreign Key)

Troubleshooting

Common Issues

  1. Database Connection Error

    • Check MySQL service is running
    • Verify database credentials in config/database.php
    • Ensure database student_result_system exists
  2. Page Not Found (404)

    • Check Apache service is running
    • Verify BASE_URL in config/config.php
    • Ensure .htaccess is configured (if using URL rewriting)
  3. Session Issues

    • Check PHP session configuration
    • Ensure session_start() is called before any output
  4. PDF Not Generating

    • PDF generation uses HTML output (can be printed as PDF)
    • For actual PDF files, install TCPDF or FPDF library

Future Enhancements

  • Email notifications for result publication
  • Bulk result upload via CSV
  • Advanced reporting and analytics
  • Multi-semester support
  • Parent/Guardian login
  • SMS notifications
  • Integration with actual PDF library (TCPDF/FPDF)

License

This project is open-source and available for educational purposes.

Support

For issues or questions, please contact the development team.


Developed with ❤️ using Core PHP and MySQL

About

ScoreVista is a web-based Student Result Management System built using PHP and MySQL. It allows administrators to upload student marks, automatically calculates grades, and enables students to securely view their academic performance.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published