{"id":23296173,"url":"https://github.com/prodev717/examify","last_synced_at":"2026-02-19T04:31:04.989Z","repository":{"id":262969457,"uuid":"888935796","full_name":"prodev717/Examify","owner":"prodev717","description":"Examify is an AI-powered Python application that ensures fair online exam conduction by detecting unethical practices like screen sneaking and tab switching. It uses OpenCV, Mediapipe, Selenium, and FastAPI for real-time monitoring and secure browser automation.","archived":false,"fork":false,"pushed_at":"2024-12-08T18:00:58.000Z","size":1865,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-03T22:58:08.972Z","etag":null,"topics":["browser-automation","computer-vision","education-technology","fastapi","gaze-detection","mediapipe","online-exam","opencv","python","selenium","student-monitoring-system","tkinter"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prodev717.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-15T09:38:59.000Z","updated_at":"2025-01-03T02:02:46.000Z","dependencies_parsed_at":"2024-12-20T07:11:14.391Z","dependency_job_id":"3e03f46a-be0c-46a7-a242-78afe88b99a7","html_url":"https://github.com/prodev717/Examify","commit_stats":null,"previous_names":["prodev717/examify"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/prodev717/Examify","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prodev717%2FExamify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prodev717%2FExamify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prodev717%2FExamify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prodev717%2FExamify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prodev717","download_url":"https://codeload.github.com/prodev717/Examify/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prodev717%2FExamify/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29603040,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T04:01:40.476Z","status":"ssl_error","status_checked_at":"2026-02-19T04:01:12.960Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["browser-automation","computer-vision","education-technology","fastapi","gaze-detection","mediapipe","online-exam","opencv","python","selenium","student-monitoring-system","tkinter"],"created_at":"2024-12-20T07:11:02.637Z","updated_at":"2026-02-19T04:31:04.962Z","avatar_url":"https://github.com/prodev717.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Examify - AI-Powered Fair Exam Conduction\n\nExamify 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.\n\nDeveloped using **OpenCV**, **Mediapipe**, **FastAPI**, and **Selenium**, the app integrates a simple **Tkinter** user interface to manage the entire exam process seamlessly.\n\n---\n\n## Table of Contents\n\n1. [Features](#features)\n2. [Technologies Used](#technologies-used)\n3. [How It Works](#how-it-works)\n4. [Installation](#installation)\n5. [App demo](#app-demo)\n6. [Contributors](#contributors)\n7. [Note](#note)\n8. [License](#license)\n\n---\n\n## Features\n\n- **AI-Powered Monitoring**:\n  - Detects gaze direction and suspicious head movements using Mediapipe’s **Face Mesh**.\n  - Tracks actions such as sneaking glances at another screen, looking away for prolonged periods, or moving out of frame.\n  \n- **Warning System**:\n  - Issues audible alerts if suspicious activity exceeds a threshold.\n  - Warning score accumulates with continued violations.\n\n- **Secure Browser**:\n  - Opens the exam link in Chromium in fullscreen mode using **Selenium**.\n  - Blocks keys and prevents switching windows or tabs.\n\n- **Automated Workflow**:\n  - Camera preview ensures proper monitoring setup before the exam starts.\n  - Automatically closes the browser and stops the camera after the exam duration.\n\n- **Data Recording**:\n  - Sends student details, warning scores, and credibility scores to the server.\n  - Stores all records in a **CSV** file for teacher evaluation.\n\n---\n\n## Technologies Used\n\n- **Python**:\n  - OpenCV for real-time video processing.\n  - Mediapipe for face mesh detection.\n  - Selenium for browser automation.\n  - FastAPI for server-side processing and storage.\n  - Tkinter for the graphical user interface.\n- **Chromium**: Fullscreen exam browser.\n- **CSV**: Used for storing student records.\n\n---\n\n## How It Works\n\n### 1. User Login\n- A **Tkinter UI** collects:\n  - Name\n  - Registration Number\n  - Exam Link\n\n### 2. Terms and Conditions\n- Students are shown the rules and must agree to proceed.\n\n### 3. Monitoring Setup\n- A **15-second camera preview** ensures proper face detection using OpenCV and Mediapipe.\n- Face mesh data is processed to detect gaze direction and monitor behavior.\n\n### 4. Exam Conduction\n- The app opens the exam link in a Chromium browser (fullscreen).\n- Background monitoring tracks the student’s activity.\n- Unauthorized actions (e.g., sneaking glances, switching tabs) increase the warning score.\n\n### 5. Post-Exam\n- At the end of the exam duration:\n  - Chromium browser and camera are closed automatically.\n  - Warning scores and credibility scores are sent to the server.\n\n### 6. Data Storage\n- The server saves all student data (Name, Registration Number, Warning Score, Credibility Score) in a **CSV** file for teacher access.\n\n---\n\n## Installation\n\n### Execute the following commands in your command prompt or terminal\n#### git clone https://github.com/prodev717/Examify.git\n#### cd Examify\n#### pip install -r requirements.txt\n#### python main.py\n\n---\n\n## App demo\n\n![](demo.gif)\n\n---\n\n## Contributors\n\n### Ganesh M\n- **GitHub**: [prodev717](https://github.com/prodev717)  \n- **Role**: Backend Developer  \n- **Contributions**:\n  - Developed the FastAPI server for data handling and storage.\n  - Implemented real-time face detection using OpenCV and Mediapipe.\n  - Managed threading and background monitoring processes.\n  - Configured Selenium for secure browser automation.\n\n## VK Rohith\n- **GitHub**: [VK Rohith](https://github.com/RohiVK)  \n- **Role**: Frontend Developer  \n- **Contributions**:\n  - Designed the user interface using Tkinter.\n  - Built the exam initiation and rules agreement workflow.\n\n---\n\n## Note\n\n### Before using the app, ensure the ChromeDriver path is set correctly in the code and the FastAPI server is running. To start server run start_server.bat\n\n---\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprodev717%2Fexamify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprodev717%2Fexamify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprodev717%2Fexamify/lists"}