Skip to content

DevKing472/Schedule_helper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Exam Alteration Helper

Exam Alteration Helper is a software tool designed to assist in scheduling and rescheduling exams, as well as facilitating exam invigilator swaps. The tool is developed to streamline the exam management process for administrators and provide convenience for faculty members.

Features

  • Admin and Faculty user roles with login and profile management functionality.
  • Exam scheduling based on faculty timetables to avoid conflicts.
  • Ability for faculty to view the initial exam timetable.
  • Faculty can request a change of exam date or hall.
  • Admin receives notifications of faculty requests for rescheduling and can accept or reject them.
  • Automatic timetable suggestions for rescheduled exams, considering faculty availability.
  • Faculty members receive notifications about changes in the exam timetable.
  • Faculty can request exam invigilator swaps with other available faculty members.
  • Notifications are sent to faculty members for swap requests, and they can accept or reject them.
  • Exam invigilators are updated automatically upon acceptance of swap requests.

Installation

  1. Clone the repository: git clone https://github.com/pradeepkarthik77/Exam_Alteration_Helper.git
  2. Navigate to the project directory: cd Exam_Alteration_Helper

Usage

Frontend:

  1. Navigate to the frontend directory: cd frontend
  2. Install the project dependencies: npm install
  3. Start the development server: npm start
  4. Access the application in your browser at: http://localhost:3000

Backend:

  1. Navigate to the backend directory: cd backend
  2. Install the project dependencies: npm install
  3. Start the development server: node server.js

testFolder:

  1. Install Selenium webdriver in your python environment.
  2. Navigate to the testFolder: cd testFolder
  3. Run the Selenium Test: python test.py
  4. Load Testing
  • Open Jmeter
  • Load the LoadTest.jmx file
  • Get the Server up and running
  • Customize the Number of Users and Ramp-up period
  • Run the Load Test

Technologies Used

  • ReactJS: Front-end JavaScript library for building user interfaces.
  • HTML/CSS: Markup and styling for the application.
  • Node.js: JavaScript runtime environment.
  • Express.js: Web application framework for Node.js.
  • MongoDB: NoSQL database for storing user and exam data.
  • Selenium Webdriver: For Integration Testing the website.
  • Apache Jmeter: For Load Testing the Server.
  • SonarQube: For Static Code analysis
  • Postman and Thunder client: For API testing

UI Screenshots:

image

Faculty Dashboard:

image
image
image
image
image
image
image
image

Admin Dashboard

image
image
image
image
image
image

Contributing

Contributions are welcome! If you have any ideas, suggestions, or bug fixes, please submit a pull request. For major changes, please open an issue first to discuss the proposed changes.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published