Arnel Gwen Nuqui commited on
Commit
60729a2
·
1 Parent(s): 4bd3968

Fix: add PyAV and aiortc build dependencies

Browse files
Dockerfile CHANGED
@@ -1,6 +1,6 @@
1
  FROM python:3.10-bullseye
2
 
3
- # --- System dependencies (OpenCV + MediaPipe + FFmpeg + aiortc)
4
  RUN apt-get update && apt-get install -y \
5
  libgl1 \
6
  libglib2.0-0 \
@@ -14,17 +14,29 @@ RUN apt-get update && apt-get install -y \
14
  libavfilter-dev \
15
  libswscale-dev \
16
  libswresample-dev \
17
- && rm -rf /var/lib/apt/lists/*
 
 
 
 
 
 
18
 
 
19
  WORKDIR /app
20
 
 
21
  COPY requirements.txt .
22
 
 
23
  RUN pip install --upgrade pip setuptools wheel
24
- RUN pip install --no-cache-dir -r requirements.txt
25
 
 
26
  COPY . .
27
 
 
28
  EXPOSE 7860
29
 
 
30
  CMD ["python", "app.py"]
 
1
  FROM python:3.10-bullseye
2
 
3
+ # --- Install system dependencies (for OpenCV, MediaPipe, TensorFlow, aiortc, PyAV)
4
  RUN apt-get update && apt-get install -y \
5
  libgl1 \
6
  libglib2.0-0 \
 
14
  libavfilter-dev \
15
  libswscale-dev \
16
  libswresample-dev \
17
+ libv4l-dev \
18
+ libssl-dev \
19
+ libffi-dev \
20
+ build-essential \
21
+ cmake \
22
+ git \
23
+ && rm -rf /var/lib/apt/lists/*
24
 
25
+ # --- Work directory
26
  WORKDIR /app
27
 
28
+ # --- Copy dependencies first for caching
29
  COPY requirements.txt .
30
 
31
+ # --- Upgrade pip and install requirements
32
  RUN pip install --upgrade pip setuptools wheel
33
+ RUN pip install --no-cache-dir --verbose -r requirements.txt
34
 
35
+ # --- Copy all source files
36
  COPY . .
37
 
38
+ # --- Expose default HF Space port
39
  EXPOSE 7860
40
 
41
+ # --- Start Flask app
42
  CMD ["python", "app.py"]
database/__init__.py DELETED
File without changes
database/__pycache__/__init__.cpython-311.pyc DELETED
Binary file (166 Bytes)
 
database/__pycache__/connection.cpython-311.pyc DELETED
Binary file (915 Bytes)
 
database/connection.py DELETED
@@ -1,12 +0,0 @@
1
- import os
2
- import mysql.connector
3
-
4
- def get_db_connection():
5
- connection = mysql.connector.connect(
6
- host=os.getenv("DB_HOST", "localhost"),
7
- port=os.getenv("DB_PORT", "3306"),
8
- user=os.getenv("DB_USER", "root"),
9
- password=os.getenv("DB_PASSWORD", ""),
10
- database=os.getenv("DB_NAME", "proctorvision_db")
11
- )
12
- return connection
 
 
 
 
 
 
 
 
 
 
 
 
 
database/db_query.txt DELETED
@@ -1,79 +0,0 @@
1
- CREATE DATABASE proctorvision_db;
2
-
3
- USE proctorvision_db;
4
-
5
- CREATE TABLE admin (
6
- id INT AUTO_INCREMENT PRIMARY KEY,
7
- admin_id VARCHAR(50),
8
- name VARCHAR(100),
9
- username VARCHAR(50),
10
- email VARCHAR(100),
11
- password VARCHAR(255)
12
- );
13
-
14
- CREATE TABLE users (
15
- id INT AUTO_INCREMENT PRIMARY KEY,
16
- user_id VARCHAR(50),
17
- name VARCHAR(100),
18
- username VARCHAR(50),
19
- email VARCHAR(100),
20
- password VARCHAR(255),
21
- user_type VARCHAR(50)
22
- );
23
-
24
- INSERT INTO admin (admin_id, name, username, email, password)
25
- VALUES
26
- ('ADM001', 'Gwen Nuqui', 'gwenadmin', 'gwen@example.com', '$2b$12$XrXNhJK8Gv5y6gXXQFZxJeHuqA6Z/hOZ.Af2okyWd8BpRU7hZzS3C') -- password123
27
-
28
- SELECT * FROM admin;
29
- SELECT * FROM users;
30
-
31
- USE proctorvision_db;
32
-
33
- SELECT * FROM admin;
34
- SELECT * FROM users;
35
- SELECT * FROM exams;
36
- SELECT * FROM exam_students;
37
- SELECT * FROM instructor_assignment;
38
-
39
- CREATE TABLE suspicious_behavior_logs (
40
- id INT AUTO_INCREMENT PRIMARY KEY,
41
- user_id INT NOT NULL,
42
- exam_id INT NOT NULL,
43
- image_base64 LONGTEXT,
44
- warning_type VARCHAR(255),
45
- timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
46
-
47
- FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
48
- FOREIGN KEY (exam_id) REFERENCES exams(id) ON DELETE CASCADE
49
- );
50
-
51
- SELECT * FROM suspicious_behavior_logs;
52
-
53
-
54
- ALTER TABLE suspicious_behavior_logs
55
- ADD COLUMN classification_label VARCHAR(50) DEFAULT NULL;
56
-
57
- CREATE TABLE exam_submissions (
58
- id INT AUTO_INCREMENT PRIMARY KEY,
59
- user_id INT NOT NULL,
60
- exam_id INT NOT NULL,
61
- submitted_at DATETIME DEFAULT CURRENT_TIMESTAMP,
62
- UNIQUE KEY unique_submission (user_id, exam_id)
63
- );
64
-
65
- SELECT * FROM exam_submissions;
66
-
67
- DELETE FROM suspicious_behavior_logs WHERE id = 1;
68
-
69
- CREATE TABLE student_profiles (
70
- user_id VARCHAR(50) PRIMARY KEY,
71
- course VARCHAR(100),
72
- section VARCHAR(100),
73
- FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE
74
- );
75
-
76
-
77
-
78
-
79
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
database/manual_insert.py DELETED
@@ -1,58 +0,0 @@
1
- import bcrypt
2
- import mysql.connector
3
-
4
- # Database connection
5
- from connection import get_db_connection
6
- conn = get_db_connection()
7
- cursor = conn.cursor()
8
-
9
- # List of (name, username) tuples
10
- users = [
11
- ("Melojean C. Marave", "melojean"),
12
- ("Carl Angelo S. Pamploma", "carl"),
13
- ("Geoffrey S. Sepillo", "geoffrey"),
14
- ("Hansel S. Ada", "hansel"),
15
- ("John Lenon E. Agatep", "john"),
16
- ("Israel M. Cabasug", "israel"),
17
- ("Niemea M. Galang", "niemea"),
18
- ("Jason S. Arates", "jason"),
19
- ("Fiel M. Dullas", "fiel"),
20
- ("Darwin M. Morana", "darwin"),
21
- ("Ronnel M. Mesia", "ronnel"),
22
- ("May Ann A. Acera", "may"),
23
- ("Joseph J. Juliano", "joseph"),
24
- ("Daniel A. Bachillar", "daniel"),
25
- ("Darly John Ragadio", "darly"),
26
- ("Eufemia Sion", "eufemia"),
27
- ("Marionne Joyce F. Tapado", "marionne"),
28
- ("Rowela Gongora", "rowela"),
29
- ("Joseph S. Cortez", "joseph2"),
30
- ("King Myer Mantolino", "king"),
31
- ("Jamil Tan Elamparo", "jamil"),
32
- ("Rowena Orboc", "rowena"),
33
- ("Hicel Mae Mas", "hicel"),
34
- ("Karen Quintoriano", "karen"),
35
- ("Ashley Rambuyong", "ashley"),
36
- ("Kie Ann Josafat", "kie"),
37
- ("Jio Erika Pelinio", "jio"),
38
- ("Dane Nalicat", "dane"),
39
- ("Radowena Payumo", "radowena"),
40
- ("Michael G. Albino", "michael"),
41
- ("Apple Escalante", "apple"),
42
- ("Katherine Uy", "katherine"),
43
- ]
44
-
45
- # Insert each instructor with hashed password
46
- for name, username in users:
47
- email = f"{username}@email.com"
48
- raw_password = f"{username}123"
49
- hashed_password = bcrypt.hashpw(raw_password.encode('utf-8'), bcrypt.gensalt())
50
-
51
- cursor.execute("""
52
- INSERT INTO users (name, username, email, password, user_type)
53
- VALUES (%s, %s, %s, %s, %s)
54
- """, (name, username, email, hashed_password, "Instructor"))
55
-
56
- conn.commit()
57
- cursor.close()
58
- conn.close()