Skip to content

Latest commit

 

History

24 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Student Results Management System

This project is a Student Results Management System built using React.js for the frontend and Express.js with a PostgreSQL database for the backend. The system allows administrators to manage exams, student details and marks, providing an efficient way to track academic performance.

Features

Dashboard

  • A landing page for the admin to quickly see system data:

    • Total number of students and exams.
    • Pass/fail statistics for each year.
    • Pass percentage calculation.

    Dashboard

Exam Management


ManageExams

  • Add new exams with details like course code, exam name, year, and pass/fail criteria.

  • Form Validation is also done with dynamic notifications. Add an exam Form validation

  • Delete exams and view existing ones in a scrollable table. Delete an exam

  • Filter exams based on course_code and exam_name. Filter courses

Student Details

  • Display distinct class numbers based on selected years and list students per class. Display classes in each year

  • View student details (ID, name, class, year, email).

  • A modal will be displayed that displays all the students in a class with a 'pop-up' effect. Class Details

Marks Management

  • Input and update marks for students.
  • Display the highest, lowest, and average marks for any exam. ExamMarks
  • Perform validations to prevent negative values (except -1 for absentees). NegativeChecker
  • Edit and update existing marks for individual students. Search by ID Enter Marks

Result Retrieval by the Students

-Enter student ID Student landing page

-Results display Result Retrieval

Screen Responsiveness

  • Screen Responsiveness done for different Resolutions

Responsiveness

Data Handling

  • Relational database schema designed with foreign keys and cascading deletes to maintain data integrity.
  • Backend API routes to retrieve student and exam details, manage marks, and retrieve pass/fail statistics.
  • Use Axios to send GET/POST requests from the frontend.

Project Structure

  • Frontend: Built using React.js. Features reusable components, React Router, hooks (useEffect, useState), and CSS for styling.
  • Backend: Powered by Express.js, with endpoints handling student data, exam data, and statistical queries.
  • Database: PostgreSQL database with tables for students, exams, and marks, ensuring referential integrity using foreign keys.

Technologies Used

  • Frontend: React.js, CSS, Axios
  • Backend: Node.js, Express.js, PostgreSQL
  • Database: PostgreSQL with relational schema and SEQUELIZE ORM
  • Version Control: Git & GitHub

How to Run

  1. Clone the repository:

    git clone https://github.com/yourusername/student-results-management-system.git
    cd student-results-management-system
  2. Install dependencies:

    • For backend:
      cd SERVER
      npm install
    • For frontend:
      cd CLIENT
      npm install
  3. Set up PostgreSQL database:

    • Create a database and import the provided schema in the /SERVER/schema.sql file.
  4. Start the server:

    npm start
  5. Run the frontend:

    npm run dev

Future Enhancements

  • Implement authentication for the admin dashboard.
  • Add more complex reporting and analytics for academic performance.
  • Add support for exporting data as CSV or PDF.

License

This project is licensed under the MIT License - see the LICENSE file for details.


About

Done using ReactJS, NodeJS, ExpressJs, MySQL

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages