Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
prodev717 authored Nov 15, 2024
1 parent 24dc002 commit d3bad0e
Showing 1 changed file with 84 additions and 1 deletion.
85 changes: 84 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,84 @@
# Examify
# Examify - AI-Powered Fair Exam Conduction

Examify is a Python-based Windows application developed during the **Technov2K24** 24-hour hackathon at VIT-AP. It ensures fair online exam conduction using AI, preventing unethical practices like screen sneaking, tab switching, or window navigation.

Developed using **OpenCV**, **Mediapipe**, **FastAPI**, and **Selenium**, the app integrates a simple **Tkinter** user interface to manage the entire exam process seamlessly.

---

## Table of Contents

1. [Features](#features)
2. [Technologies Used](#technologies-used)
3. [How It Works](#how-it-works)
4. [App demo](#app-demo)
5. [Contributors](#contributors)

---

## Features

- **AI-Powered Monitoring**:
- Detects gaze direction and suspicious head movements using Mediapipe’s **Face Mesh**.
- Tracks actions such as sneaking glances at another screen, looking away for prolonged periods, or moving out of frame.

- **Warning System**:
- Issues audible alerts if suspicious activity exceeds a threshold.
- Warning score accumulates with continued violations.

- **Secure Browser**:
- Opens the exam link in Chromium in fullscreen mode using **Selenium**.
- Blocks keys and prevents switching windows or tabs.

- **Automated Workflow**:
- Camera preview ensures proper monitoring setup before the exam starts.
- Automatically closes the browser and stops the camera after the exam duration.

- **Data Recording**:
- Sends student details, warning scores, and credibility scores to the server.
- Stores all records in a **CSV** file for teacher evaluation.

---

## Technologies Used

- **Python**:
- OpenCV for real-time video processing.
- Mediapipe for face mesh detection.
- Selenium for browser automation.
- FastAPI for server-side processing and storage.
- Tkinter for the graphical user interface.
- **Chromium**: Fullscreen exam browser.
- **CSV**: Used for storing student records.

---

## How It Works

### 1. User Login
- A **Tkinter UI** collects:
- Name
- Registration Number
- Exam Link

### 2. Terms and Conditions
- Students are shown the rules and must agree to proceed.

### 3. Monitoring Setup
- A **15-second camera preview** ensures proper face detection using OpenCV and Mediapipe.
- Face mesh data is processed to detect gaze direction and monitor behavior.

### 4. Exam Conduction
- The app opens the exam link in a Chromium browser (fullscreen).
- Background monitoring tracks the student’s activity.
- Unauthorized actions (e.g., sneaking glances, switching tabs) increase the warning score.

### 5. Post-Exam
- At the end of the exam duration:
- Chromium browser and camera are closed automatically.
- Warning scores and credibility scores are sent to the server.

### 6. Data Storage
- The server saves all student data (Name, Registration Number, Warning Score, Credibility Score) in a **CSV** file for teacher access.

---

0 comments on commit d3bad0e

Please sign in to comment.