WatchTower is an AI-based proctoring solution for real-time monitoring during skill assessments, focused on ensuring test integrity, security, and privacy. This system leverages face detection, tab-switch monitoring, and audio analysis to detect suspicious activities, providing live alerts to proctors.
- Real-time Face Detection: Ensures only the test-taker is present.
- Tab-Switch Detection: Tracks any suspicious tab switches during the test.
- Audio Monitoring: Detects unauthorized audio activity (e.g., speaking).
- Alerts and Dashboard for Proctors: Proctors receive real-time notifications of suspicious activities.
- Scalable Architecture: React frontend and Django backend for modularity and ease of deployment.
- Frontend: React (Vite, Axios)
- Backend: Django with Django REST Framework
- AI Models: OpenCV, TensorFlow (face detection, activity detection)
- Deployment: Vercel (React), PythonAnywhere/Heroku (Django)
- Additional Libraries: pyaudio (for audio detection)
- Node.js and npm
- Python
- Django and Django REST Framework
- Vite for React frontend
-
Clone the repository:
-
Create a virtual environment:
python -m venv env source env/bin/activate # On Windows: env\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Run the Django server:
python manage.py migrate python manage.py runserver
-
Navigate to the frontend directory:
cd ../frontend
-
Install dependencies:
npm install
-
Start the Vite development server:
npm run dev
The frontend should now be running on http://localhost:5173
and Django backend on http://localhost:8000
.
- Testing: Visit the frontend at
http://localhost:5173
. Log in as a proctor or student to simulate a skill assessment session. - Real-time Monitoring: Proctors can view student activity in real-time, with alerts triggered by the AI-based monitoring.
Contributions are welcome! Please open an issue or submit a pull request with detailed information on any changes.