Skip to content

KhushiChandak04/CodeQuest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Uploading Screen Recording 2025-09-28 132811.mp4…

Screen.Recording.2025-09-28.132811.mp4

CodeQuest (MERN + FastAPI AI) — Video-only Engagement Analytics

Python React FastAPI MongoDB License

This iteration targets CCTV classroom videos without audio. Faculty can upload videos; the system counts students and estimates attentiveness (via pose/body-language heuristics), then shows engagement stats and a per‑second timeline.

🚀 Features

🎭 Automated Attendance Tracking

  • Face recognition-based student identification
  • Real-time check-in/check-out detection
  • Manual override capabilities for backup scenarios
  • Comprehensive attendance reporting and analytics

👀 Real-time Engagement Monitoring

  • Computer vision analysis for attention detection
  • Head pose estimation and eye contact tracking
  • Posture analysis for engagement scoring
  • Audio-based participation measurement

📊 Interactive Dashboard

  • Live engagement metrics and trends
  • Real-time alerts for low engagement periods
  • Historical analytics and performance insights
  • Student-specific engagement tracking

🔔 Intelligent Alert System

  • Configurable engagement thresholds
  • Proactive notifications for intervention
  • Alert acknowledgment and response tracking
  • Multi-level severity classification

🛠️ Technology Stack

Backend

  • Node.js/Express (MERN) for faculty auth, video upload, analytics storage
  • MongoDB (Mongoose models)
  • Communicates with a separate Python AI server

Frontend

  • Framework: React 18.2 with modern hooks
  • Styling: Tailwind CSS for responsive design
  • Icons: Heroicons for consistent UI elements
  • HTTP Client: Axios with interceptors and error handling
  • Routing: React Router for SPA navigation

Infrastructure

  • Containerization: Docker and Docker Compose
  • Real-time Communication: WebSocket for live updates
  • Environment Management: Python virtual environments
  • Process Management: Uvicorn ASGI server

📁 Project Structure (Updated)

CodeQuest/
├── backend/                        # Node.js/Express backend (MERN)
│   ├── models/ (User, VideoSession, Student)
│   ├── routes/ (auth, videos, analytics)
│   ├── middleware/ (auth, upload)
│   ├── config/ (database connection)
│   ├── uploads/ (uploaded videos)
│   ├── app.js
│   └── package.json
├── ai-server/                      # FastAPI AI server (Python)
│   ├── app/
│   │   ├── main.py
│   │   ├── routes/analyze.py
│   │   ├── models/ (video_processor, student_counter, engagement_analyzer)
│   │   └── utils/ (pose_analyzer, head_pose)
│   ├── test_videos/
│   ├── requirements.txt
│   └── run.py
├── frontend/                       # React dashboard
│   ├── src/
│   │   ├── components/ (VideoUpload, AnalyticsDashboard, EngagementCharts, ...)
│   │   ├── pages/ (FacultyDashboard, ...)
│   │   └── services/api.js
│   └── package.json
├── database/ (init scripts, sample data)
├── docs/
├── docker-compose.yml
└── README.md

🚀 Quick Start

Prerequisites

  • Python 3.12 or higher
  • Node.js 18+ and npm
  • MongoDB (local installation or MongoDB Atlas)
  • Git for version control

1. Clone the Repository

git clone https://github.com/yourusername/CodeQuest.git
cd CodeQuest

2. Node Backend (MERN) Setup

# Navigate to backend directory
cd backend

# Install dependencies and start dev server
npm install
npm run dev

Node backend will be available at http://localhost:5000

  • Health check: http://localhost:5000/health

3. AI Server (FastAPI) Setup

# In another terminal
cd ai-server
python -m venv venv
venv\Scripts\activate  # Windows
pip install -r requirements.txt
python run.py

AI server will be available at http://localhost:9000

4. Frontend Setup

# Open new terminal and navigate to frontend
cd frontend

# Install Node.js dependencies  
npm install

# Start the React development server
npm start

The frontend will be available at http://localhost:3000

4. Database Setup

# Start MongoDB (if running locally)
mongod

# Initialize collections (from database directory)
cd database
mongo < init_collections.js

For MongoDB Atlas: Update the connection string in backend configuration.

5. Docker Setup (Alternative)

# Build and start all services
docker-compose up --build

# Run in background
docker-compose up -d

# View logs
docker-compose logs -f

# Stop services
docker-compose down

About

AI ML Based CCTV Video Engagement Analysis

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors