INSERT INTO `notes` (`id`, `user_id`, `title`, `content`, `color`, `note_type`, `draw_data`, `audio_data`, `is_pinned`, `is_archived`, `created_at`, `updated_at`) VALUES
(17, 3, 'Untitled text', '<h2>Introduction to Programming Languages</h2>\r\nA programming language is a set of rules and instructions that a computer can understand and execute. It is used to communicate with computers and create software, apps, and websites. Programming languages are the backbone of computer science and have become an essential part of our daily lives.\r\n\r\n<h3>Types of Programming Languages</h3>\r\nThere are several types of programming languages, including:\r\n<ul>\r\n  <li><strong>Procedural Programming Languages</strong>: These languages follow a step-by-step approach to solve problems. Examples include C, C++, and Java.</li>\r\n  <li><strong>Object-Oriented Programming Languages</strong>: These languages organize code into objects that contain data and functions that operate on that data. Examples include Java, C++, and Python.</li>\r\n  <li><strong>Functional Programming Languages</strong>: These languages focus on the evaluation of expressions and the use of pure functions. Examples include Haskell, Lisp, and Scheme.</li>\r\n  <li><strong>Scripting Programming Languages</strong>: These languages are used for rapid development and are often used for web development. Examples include Python, Ruby, and PHP.</li>\r\n</ul>\r\n\r\n<h3>Characteristics of Programming Languages</h3>\r\nProgramming languages have several characteristics that define their functionality and usability:\r\n<ul>\r\n  <li><strong>Readability</strong>: The ease with which a programmer can understand the code.</li>\r\n  <li><strong>Writeability</strong>: The ease with which a programmer can write the code.</li>\r\n  <li><strong>Efficiency</strong>: The speed and accuracy with which the code executes.</li>\r\n  <li><strong>Portability</strong>: The ability of the code to run on different platforms and devices.</li>\r\n</ul>\r\n\r\n<h3>Popular Programming Languages</h3>\r\nSome of the most popular programming languages include:\r\n<ul>\r\n  <li><strong>Python</strong>: A versatile language used for web development, data analysis, and artificial intelligence.</li>\r\n  <li><strong>Java</strong>: An object-oriented language used for Android app development, web development, and enterprise software development.</li>\r\n  <li><strong>JavaScript</strong>: A scripting language used for web development, game development, and mobile app development.</li>\r\n  <li><strong>C++</strong>: A powerful language used for operating systems, games, and other high-performance applications.</li>\r\n</ul>\r\n\r\n<h3>Programming Language Paradigms</h3>\r\nProgramming language paradigms are the fundamental principles that guide the design and development of programming languages:\r\n<ul>\r\n  <li><strong>Imperative Programming</strong>: Focuses on the steps the computer should take to achieve a goal.</li>\r\n  <li><strong>Declarative Programming</strong>: Focuses on the desired outcome, rather than the steps to achieve it.</li>\r\n  <li><strong>Functional Programming</strong>: Treats programs as compositions of pure functions, each taking some input and producing output.</li>\r\n</ul>\r\n\r\n<h3>Conclusion</h3>\r\nIn conclusion, programming languages are the foundation of computer science and play a vital role in the development of software, apps, and websites. Understanding the different types, characteristics, and paradigms of programming languages is essential for any aspiring programmer or software developer. By mastering one or more programming languages, individuals can unlock a world of creative possibilities and career opportunities in the tech industry.', '#0ea5e9', 'text', NULL, NULL, 0, 0, '2026-06-30 08:14:38', '2026-06-30 08:14:38'),
(18, 3, 'Untitled draw', 'data:image/png;base64,[encoded data, 14396 characters]', '#0ea5e9', 'draw', NULL, NULL, 0, 0, '2026-06-30 08:14:56', '2026-06-30 08:14:58');

-- --------------------------------------------------------

--
-- Table structure for table `password_resets`
--

CREATE TABLE `password_resets` (
  `id` int(10) UNSIGNED NOT NULL,
  `user_id` int(10) UNSIGNED NOT NULL,
  `reset_code` varchar(255) NOT NULL,
  `expires_at` datetime NOT NULL,
  `failed_attempts` int(11) DEFAULT 0,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `password_resets`
--

INSERT INTO `password_resets` (`id`, `user_id`, `reset_code`, `expires_at`, `failed_attempts`, `created_at`) VALUES
(47, 1, '$2y$10$rCqpvAgyk0IIrSSPJrEXhej.Os6NLZVAJSW9O6FgAPbxZ19BL548O', '2026-06-27 15:59:45', 0, '2026-06-27 15:44:45');

-- --------------------------------------------------------

--
-- Table structure for table `pomodoro_sessions`
--

CREATE TABLE `pomodoro_sessions` (
  `id` int(10) UNSIGNED NOT NULL,
  `user_id` int(10) UNSIGNED NOT NULL,
  `task_id` int(10) UNSIGNED DEFAULT NULL,
  `subject` varchar(100) DEFAULT NULL,
  `work_minutes` int(10) UNSIGNED DEFAULT 25,
  `break_minutes` int(10) UNSIGNED DEFAULT 5,
  `cycles_completed` int(10) UNSIGNED DEFAULT 0,
  `total_focus_minutes` int(10) UNSIGNED DEFAULT 0,
  `started_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `ended_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `pomodoro_sessions`
--

INSERT INTO `pomodoro_sessions` (`id`, `user_id`, `task_id`, `subject`, `work_minutes`, `break_minutes`, `cycles_completed`, `total_focus_minutes`, `started_at`, `ended_at`) VALUES
(1, 1, NULL, NULL, 25, 5, 1, 25, '2026-04-17 11:20:46', '2026-04-17 11:20:46'),
(2, 1, NULL, NULL, 25, 5, 2, 25, '2026-04-17 11:21:36', '2026-04-17 11:21:36'),
(3, 1, NULL, NULL, 25, 5, 1, 25, '2026-04-20 02:26:03', '2026-04-20 02:26:03'),
(4, 1, NULL, NULL, 25, 5, 1, 25, '2026-04-20 08:58:27', '2026-04-20 08:58:27'),
(5, 1, NULL, NULL, 25, 5, 1, 25, '2026-04-23 05:43:35', '2026-04-23 05:43:35'),
(6, 1, NULL, NULL, 25, 5, 1, 25, '2026-04-30 09:23:20', '2026-04-30 09:23:20'),
(7, 1, NULL, NULL, 25, 5, 1, 25, '2026-04-30 09:28:58', '2026-04-30 09:28:58'),
(8, 1, NULL, NULL, 25, 5, 1, 25, '2026-05-01 10:14:56', '2026-05-01 10:14:56'),
(9, 1, NULL, NULL, 25, 5, 1, 25, '2026-06-27 00:46:21', '2026-06-27 00:46:21'),
(10, 1, NULL, NULL, 25, 5, 1, 25, '2026-06-27 00:48:19', '2026-06-27 00:48:19'),
(11, 1, NULL, NULL, 25, 5, 1, 25, '2026-06-27 00:55:02', '2026-06-27 00:55:02'),
(12, 1, NULL, NULL, 25, 5, 2, 25, '2026-06-27 00:57:32', '2026-06-27 00:57:32'),
(13, 1, NULL, NULL, 25, 5, 1, 25, '2026-06-27 01:37:25', '2026-06-27 01:37:25'),
(14, 11, NULL, NULL, 25, 5, 1, 25, '2026-06-30 16:56:59', '2026-06-30 16:56:59');

-- --------------------------------------------------------

--
-- Table structure for table `presence_pings`
--

CREATE TABLE `presence_pings` (
  `user_id` int(10) UNSIGNED NOT NULL,
  `session_started_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `last_seen_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `ip_address` varchar(45) DEFAULT NULL,
  `current_page` varchar(120) DEFAULT NULL,
  `status` enum('active','idle','offline') NOT NULL DEFAULT 'active',
  `user_agent` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------

--
-- Table structure for table `push_subscriptions`
--

CREATE TABLE `push_subscriptions` (
  `id` int(10) UNSIGNED NOT NULL,
  `user_id` int(10) UNSIGNED NOT NULL,
  `endpoint` text NOT NULL,
  `p256dh` varchar(512) NOT NULL,
  `auth_key` varchar(512) NOT NULL,
  `created_at` datetime NOT NULL DEFAULT current_timestamp(),
  `updated_at` datetime DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------

--
-- Table structure for table `quiz_answers`
--

CREATE TABLE `quiz_answers` (
  `id` int(10) UNSIGNED NOT NULL,
  `attempt_id` int(10) UNSIGNED NOT NULL,
  `question_id` int(10) UNSIGNED NOT NULL,
  `user_id` int(10) UNSIGNED NOT NULL,
  `user_answer` text DEFAULT NULL,
  `is_correct` tinyint(1) DEFAULT 0,
  `time_taken` int(10) UNSIGNED DEFAULT 0,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `quiz_answers`
--

INSERT INTO `quiz_answers` (`id`, `attempt_id`, `question_id`, `user_id`, `user_answer`, `is_correct`, `time_taken`, `created_at`) VALUES
(1, 14, 1, 3, 'Mark Kian Oliquiano', 1, 8, '2026-04-19 06:22:34'),
(2, 14, 2, 3, 'Benjo Corido', 0, 6, '2026-04-19 06:22:47'),
(3, 14, 3, 3, 'Jose Luis Pena', 0, 11, '2026-04-19 06:23:05'),
(4, 14, 4, 3, 'Both had Kurt Cuya and Benjo Corido', 1, 14, '2026-04-19 06:23:27'),
(5, 14, 5, 3, 'Jose Luis Pena', 1, 6, '2026-04-19 06:23:36'),
(6, 16, 6, 3, 'To minimize costs', 0, 24, '2026-04-19 06:24:42'),
(7, 16, 7, 3, 'Single seller and multiple buyers', 1, 15, '2026-04-19 06:25:05'),
(8, 16, 8, 3, 'The quantity supplied decreases', 0, 33, '2026-04-19 06:25:40'),
(9, 16, 9, 3, 'Comparative advantage', 0, 11, '2026-04-19 06:25:55'),
(10, 16, 10, 3, 'A normal good has a positive income effect, while an inferior good has a negative income effect', 1, 10, '2026-04-19 06:26:07'),
(11, 18, 8, 3, NULL, 0, 58, '2026-04-19 06:46:39'),
(12, 20, 6, 3, NULL, 0, 30, '2026-04-19 06:50:23'),
(13, 22, 6, 3, 'To maximize profits', 1, 1, '2026-04-19 06:53:07'),
(14, 23, 6, 3, 'To maximize profits', 1, 6, '2026-04-19 07:00:41'),
(15, 24, 46, 1, 'To manage the flow of data between the CPU, RAM, and graphics card', 1, 15, '2026-04-19 07:20:12'),
(16, 24, 47, 1, 'True', 1, 13, '2026-04-19 07:20:29'),
(17, 24, 48, 1, 'read', 0, 18, '2026-04-19 07:20:50'),
(18, 24, 49, 1, 'not sure', 0, 12, '2026-04-19 07:21:09'),
(19, 25, 46, 1, 'To manage the flow of data between the CPU, RAM, and graphics card', 1, 3, '2026-04-19 07:21:52'),
(20, 25, 47, 1, 'True', 1, 3, '2026-04-19 07:21:56'),
(21, 25, 48, 1, 'LATENCY', 1, 9, '2026-04-19 07:22:06'),
(22, 25, 49, 1, NULL, 0, 4, '2026-04-19 07:22:14'),
(23, 25, 51, 1, 'False', 1, 9, '2026-04-19 07:22:36'),
(24, 25, 52, 1, NULL, 0, 51, '2026-04-19 07:24:10'),
(25, 25, 53, 1, NULL, 0, 11, '2026-04-19 07:24:30'),
(26, 25, 54, 1, 'To provide a user interface for the operating system', 0, 5, '2026-04-19 07:24:37'),
(27, 25, 55, 1, 'False', 1, 4, '2026-04-19 07:24:45'),
(28, 26, 46, 1, 'To manage the flow of data between the CPU, RAM, and graphics card', 1, 3, '2026-04-19 07:24:54'),
(29, 26, 47, 1, 'True', 1, 3, '2026-04-19 07:24:59'),
(30, 26, 48, 1, 'LANTENC', 1, 11, '2026-04-19 07:25:11'),
(31, 26, 49, 1, NULL, 0, 11, '2026-04-19 07:25:28'),
(32, 26, 51, 1, 'False', 1, 2, '2026-04-19 07:25:44'),
(33, 26, 52, 1, 'Multi-GPU computing', 0, 35, '2026-04-19 07:26:21'),
(34, 26, 53, 1, NULL, 0, 2, '2026-04-19 07:26:59'),
(35, 26, 54, 1, 'To configure the hardware settings for the system', 1, 4, '2026-04-19 07:27:06'),
(36, 26, 55, 1, 'False', 1, 4, '2026-04-19 07:27:11'),
(37, 27, 46, 1, 'To manage the flow of data between the CPU, RAM, and graphics card', 1, 4, '2026-04-19 07:27:25'),
(38, 27, 47, 1, 'True', 1, 6, '2026-04-19 07:27:33'),
(39, 27, 49, 1, NULL, 0, 3, '2026-04-19 07:27:42'),
(40, 27, 51, 1, 'False', 1, 11, '2026-04-19 07:28:06'),
(41, 27, 52, 1, 'Sli', 0, 10, '2026-04-19 07:28:18'),
(42, 27, 54, 1, 'To configure the hardware settings for the system', 1, 3, '2026-04-19 07:28:34'),
(43, 28, 46, 1, 'To manage the flow of data between the CPU, RAM, and graphics card', 1, 2, '2026-04-19 07:28:42'),
(44, 29, 61, 1, 'To perform any mathematical calculation using punched cards and a central processing unit', 1, 15, '2026-04-19 07:29:47'),
(45, 29, 62, 1, 'Arithmetic Engine', 0, 14, '2026-04-19 07:30:04'),
(46, 29, 63, 1, 'Ada Lovelace', 1, 8, '2026-04-19 07:30:16'),
(47, 29, 64, 1, 'Lack of interest from the scientific community', 0, 12, '2026-04-19 07:30:34'),
(48, 29, 65, 1, 'It led to the development of mechanical computers', 0, 14, '2026-04-19 07:30:51'),
(49, 29, 66, 1, 'It led him to focus on building a computer that could only perform arithmetic operations', 0, 8, '2026-04-19 07:31:08'),
(50, 29, 67, 1, NULL, 0, 30, '2026-04-19 07:31:40'),
(51, 30, 71, 1, 'Asynchronous execution', 1, 12, '2026-04-19 07:31:40'),
(52, 30, 72, 1, 'A temperature logger that records readings automatically', 0, 13, '2026-04-19 07:31:55'),
(53, 30, 73, 1, 'To execute code in a top-to-bottom sequence', 0, 1, '2026-04-19 07:31:58'),
(54, 30, 74, 1, 'Synchronous communication', 0, 3, '2026-04-19 07:32:03'),
(55, 30, 75, 1, 'A function registered to execute when a specific event fires', 1, 3, '2026-04-19 07:32:09'),
(56, 30, 76, 1, 'A temperature logger that records readings automatically', 0, 2, '2026-04-19 07:32:13'),
(57, 30, 77, 1, 'To tightly couple event producers and consumers', 0, 1, '2026-04-19 07:32:15'),
(58, 30, 78, 1, 'System notifications', 0, 1, '2026-04-19 07:32:18'),
(59, 30, 79, 1, 'Responsiveness', 0, 1, '2026-04-19 07:32:20'),
(60, 30, 80, 1, 'Improved synchronous execution', 0, 1, '2026-04-19 07:32:23'),
(61, 31, 46, 1, 'To manage the flow of data between the CPU, RAM, and graphics card', 1, 9, '2026-04-19 09:20:37'),
(62, 31, 47, 1, 'True', 1, 3, '2026-04-19 09:20:43'),
(63, 31, 48, 1, 'Late', 0, 6, '2026-04-19 09:20:54'),
(64, 31, 49, 1, NULL, 0, 3, '2026-04-19 09:21:00'),
(65, 31, 51, 1, 'False', 1, 2, '2026-04-19 09:21:27'),
(66, 31, 52, 1, 'SLI', 0, 7, '2026-04-19 09:21:36'),
(67, 31, 53, 1, NULL, 0, 3, '2026-04-19 09:21:44'),
(68, 31, 54, 1, 'To configure the hardware settings for the system', 1, 4, '2026-04-19 09:21:52'),
(69, 31, 55, 1, 'False', 1, 3, '2026-04-19 09:21:57'),
(70, 32, 6, 3, 'To maximize profits', 1, 2, '2026-04-19 11:10:21'),
(71, 32, 7, 3, 'Single seller and multiple buyers', 1, 6, '2026-04-19 11:10:28'),
(72, 32, 9, 3, 'Comparative advantage', 0, 11, '2026-04-19 11:10:43'),
(73, 32, 10, 3, 'A normal good has a positive income effect, while an inferior good has a negative income effect', 1, 4, '2026-04-19 11:10:49'),
(74, 35, 1, 3, 'Mark Kian Oliquiano', 1, 4, '2026-04-19 11:11:14'),
(75, 35, 2, 3, 'Lyka Izzabelle Dinoso', 1, 4, '2026-04-19 11:11:21'),
(76, 35, 3, 3, 'Kurt Cuya', 1, 6, '2026-04-19 11:11:29'),
(77, 35, 4, 3, 'Both had Lyka Dinoso and Benjo Corido', 0, 3, '2026-04-19 11:11:34'),
(78, 35, 5, 3, 'Jose Luis Pena', 1, 1, '2026-04-19 11:11:37'),
(79, 36, 81, 1, 'Asynchronous execution', 1, 14, '2026-04-20 02:13:37'),
(80, 36, 82, 1, 'To dispatch events to registered handlers', 1, 6, '2026-04-20 02:13:51'),
(81, 36, 83, 1, 'A function registered to execute when a specific event fires', 1, 5, '2026-04-20 02:14:04'),
(82, 36, 84, 1, 'A chat app responding to messages', 1, 8, '2026-04-20 02:14:15'),
(83, 36, 85, 1, 'Procedural programming is synchronous, while event-driven programming is asynchronous', 1, 21, '2026-04-20 02:14:40'),
(84, 36, 86, 1, 'User input, system, network, hardware/sensor, and application', 1, 15, '2026-04-20 02:14:58'),
(85, 36, 87, 1, 'To increase the complexity of the system', 0, 9, '2026-04-20 02:15:12'),
(86, 36, 88, 1, 'Waiting for one event does not freeze other parts of the program', 1, 4, '2026-04-20 02:15:21'),
(87, 36, 89, 1, 'To store registered handlers', 0, 4, '2026-04-20 02:15:28'),
(88, 36, 90, 1, 'Coroutines are tasks scheduled on a separate thread', 0, 4, '2026-04-20 02:15:35'),
(89, 37, 91, 1, 'To block unauthorized access to a network', 1, 10, '2026-04-20 08:49:49'),
(90, 37, 92, 1, 'Applying security patches and updates', 1, 12, '2026-04-20 08:50:05'),
(91, 37, 93, 1, 'A daemon is a background process, while a service is a foreground process', 0, 32, '2026-04-20 08:50:39'),
(92, 37, 94, 1, 'Syslog', 0, 42, '2026-04-20 08:51:43'),
(93, 37, 95, 1, 'To record system events and errors', 1, 16, '2026-04-20 08:52:15'),
(94, 38, 96, 1, 'To restrict instantiation of a class to a single instance', 1, 19, '2026-04-22 07:39:03'),
(95, 38, 97, 1, 'Bubble sort', 0, 28, '2026-04-22 07:39:35'),
(96, 46, 116, 1, 'Synchronous execution', 0, 22, '2026-04-23 05:47:46'),
(97, 46, 117, 1, 'A temperature logger that records readings every hour', 0, 2, '2026-04-23 05:47:52'),
(98, 46, 118, 1, 'To continuously poll for new events and route them to registered handlers', 1, 4, '2026-04-23 05:48:02'),
(99, 46, 119, 1, 'A function that is registered to execute when a specific event fires', 1, 3, '2026-04-23 05:48:10'),
(100, 46, 120, 1, 'Hardware/sensor events', 0, 1, '2026-04-23 05:48:13'),
(101, 46, 121, 1, 'Asynchronous execution', 0, 2, '2026-04-23 05:48:17'),
(102, 47, 123, 7, 'To summarize and describe data', 1, 4, '2026-04-23 08:19:31'),
(103, 51, 149, 1, 'To kill harmful bacteria and extend shelf life', 1, 11, '2026-05-22 08:04:29'),
(104, 51, 150, 1, 'French press coffee', 0, 19, '2026-05-22 08:04:51'),
(105, 51, 151, 1, 'Caramelization', 1, 23, '2026-05-22 08:05:35'),
(106, 51, 152, 1, 'Separating raw and cooked foods', 1, 6, '2026-05-22 08:05:44'),
(107, 51, 153, 1, 'The style of service', 1, 11, '2026-05-22 08:05:58'),
(108, 52, 154, 11, 'To provide a layer of abstraction between physical and virtual memory', 1, 5, '2026-06-30 15:51:50'),
(109, 52, 155, 11, 'First-Come-First-Served (FCFS)', 0, 9, '2026-06-30 15:52:04'),
(110, 52, 156, 11, 'Partitioning', 0, 6, '2026-06-30 15:52:14'),
(111, 52, 157, 11, 'Memory management', 0, 20, '2026-06-30 15:52:50'),
(112, 52, 158, 11, 'To replace pages in physical memory with pages from virtual memory', 1, 4, '2026-06-30 15:53:00'),
(113, 52, 159, 11, 'Journaling', 0, 10, '2026-06-30 15:53:14'),
(114, 52, 160, 11, 'Segmentation', 0, 14, '2026-06-30 15:53:31'),
(115, 52, 161, 11, 'File system management', 0, 10, '2026-06-30 15:53:46'),
(116, 52, 162, 11, 'To detect deadlocks and recover from them', 1, 2, '2026-06-30 15:53:51'),
(117, 52, 163, 11, 'Authentication', 0, 12, '2026-06-30 15:54:06');

-- --------------------------------------------------------

--
-- Table structure for table `quiz_attempts`
--

CREATE TABLE `quiz_attempts` (
  `id` int(10) UNSIGNED NOT NULL,
  `deck_id` int(10) UNSIGNED NOT NULL,
  `user_id` int(10) UNSIGNED NOT NULL,
  `started_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `completed_at` timestamp NULL DEFAULT NULL,
  `total_questions` int(10) UNSIGNED NOT NULL,
  `correct_answers` int(10) UNSIGNED DEFAULT 0,
  `wrong_answers` int(10) UNSIGNED DEFAULT 0,
  `skipped_answers` int(10) UNSIGNED DEFAULT 0,
  `total_time` int(10) UNSIGNED DEFAULT 0,
  `score_pct` decimal(5,2) DEFAULT 0.00
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `quiz_attempts`
--

INSERT INTO `quiz_attempts` (`id`, `deck_id`, `user_id`, `started_at`, `completed_at`, `total_questions`, `correct_answers`, `wrong_answers`, `skipped_answers`, `total_time`, `score_pct`) VALUES
(14, 2, 3, '2026-04-19 06:22:25', NULL, 5, 0, 0, 0, 0, 0.00),
(16, 3, 3, '2026-04-19 06:24:16', NULL, 5, 0, 0, 0, 0, 0.00),
(17, 3, 3, '2026-04-19 06:26:40', NULL, 5, 0, 0, 0, 0, 0.00),
(18, 3, 3, '2026-04-19 06:45:30', NULL, 5, 0, 0, 0, 0, 0.00),
(19, 3, 3, '2026-04-19 06:48:55', NULL, 5, 0, 0, 0, 0, 0.00),
(20, 3, 3, '2026-04-19 06:49:51', NULL, 5, 0, 0, 0, 0, 0.00),
(21, 3, 3, '2026-04-19 06:52:40', NULL, 5, 0, 0, 0, 0, 0.00),
(22, 3, 3, '2026-04-19 06:53:05', NULL, 5, 0, 0, 0, 0, 0.00),
(23, 3, 3, '2026-04-19 07:00:33', NULL, 5, 0, 0, 0, 0, 0.00),
(24, 8, 1, '2026-04-19 07:19:56', NULL, 10, 0, 0, 0, 0, 0.00),
(25, 8, 1, '2026-04-19 07:21:48', NULL, 10, 0, 0, 0, 0, 0.00),
(26, 8, 1, '2026-04-19 07:24:51', NULL, 10, 0, 0, 0, 0, 0.00),
(27, 8, 1, '2026-04-19 07:27:19', NULL, 10, 0, 0, 0, 0, 0.00),
(28, 8, 1, '2026-04-19 07:28:38', NULL, 10, 0, 0, 0, 0, 0.00),
(29, 10, 1, '2026-04-19 07:29:30', NULL, 10, 0, 0, 0, 0, 0.00),
(30, 11, 1, '2026-04-19 07:31:27', NULL, 10, 0, 0, 0, 0, 0.00),
(31, 8, 1, '2026-04-19 09:20:24', NULL, 10, 0, 0, 0, 0, 0.00),
(32, 3, 3, '2026-04-19 11:10:17', NULL, 5, 0, 0, 0, 0, 0.00),
(33, 2, 3, '2026-04-19 11:10:58', NULL, 5, 0, 0, 0, 0, 0.00),
(34, 2, 3, '2026-04-19 11:11:05', NULL, 5, 0, 0, 0, 0, 0.00),
(35, 2, 3, '2026-04-19 11:11:09', NULL, 5, 0, 0, 0, 0, 0.00),
(36, 12, 1, '2026-04-20 02:13:21', NULL, 10, 0, 0, 0, 0, 0.00),
(37, 13, 1, '2026-04-20 08:49:38', NULL, 5, 0, 0, 0, 0, 0.00),
(38, 14, 1, '2026-04-22 07:38:43', NULL, 5, 0, 0, 0, 0, 0.00),
(39, 14, 1, '2026-04-22 07:40:37', NULL, 5, 0, 0, 0, 0, 0.00),
(40, 13, 1, '2026-04-22 07:40:50', NULL, 5, 0, 0, 0, 0, 0.00),
(41, 15, 1, '2026-04-23 05:45:22', NULL, 5, 0, 0, 0, 0, 0.00),
(42, 15, 1, '2026-04-23 05:45:54', NULL, 5, 0, 0, 0, 0, 0.00),
(43, 16, 1, '2026-04-23 05:46:35', NULL, 10, 0, 0, 0, 0, 0.00),
(44, 15, 1, '2026-04-23 05:46:44', NULL, 5, 0, 0, 0, 0, 0.00),
(45, 15, 1, '2026-04-23 05:46:49', NULL, 5, 0, 0, 0, 0, 0.00),
(46, 17, 1, '2026-04-23 05:47:22', NULL, 7, 0, 0, 0, 0, 0.00),
(47, 18, 7, '2026-04-23 08:19:26', NULL, 5, 0, 0, 0, 0, 0.00),
(49, 20, 8, '2026-04-27 04:45:40', NULL, 7, 0, 0, 0, 0, 0.00),
(50, 21, 3, '2026-04-27 04:45:50', NULL, 7, 0, 0, 0, 0, 0.00),
(51, 22, 1, '2026-05-22 08:04:16', NULL, 5, 0, 0, 0, 0, 0.00),
(52, 23, 11, '2026-06-30 15:51:43', NULL, 10, 0, 0, 0, 0, 0.00);

-- --------------------------------------------------------

--
-- Table structure for table `quiz_decks`
--

CREATE TABLE `quiz_decks` (
  `id` int(10) UNSIGNED NOT NULL,
  `user_id` int(10) UNSIGNED NOT NULL,
  `title` varchar(200) NOT NULL,
  `subject` varchar(100) DEFAULT NULL,
  `difficulty` enum('easy','medium','hard') DEFAULT 'medium',
  `question_count` int(10) UNSIGNED DEFAULT 0,
  `quiz_type` enum('multiple_choice','identification','true_false','short_answer','all') DEFAULT 'multiple_choice',
  `is_timed` tinyint(1) DEFAULT 1,
  `seconds_per_question` int(10) UNSIGNED DEFAULT 30,
  `source` enum('ai','document') DEFAULT 'ai',
  `source_filename` varchar(255) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `quiz_decks`
--

INSERT INTO `quiz_decks` (`id`, `user_id`, `title`, `subject`, `difficulty`, `question_count`, `quiz_type`, `is_timed`, `seconds_per_question`, `source`, `source_filename`, `created_at`, `updated_at`) VALUES
(2, 3, 'Quiz: CSCOFFICERS_2022-2026.docx', 'CSCOFFICERS_2022-2026.docx', 'medium', 5, 'multiple_choice', 0, 30, 'document', 'CSCOFFICERS_2022-2026.docx', '2026-04-19 06:22:20', '2026-04-19 06:22:20'),
(3, 3, 'Quiz: economics', 'economics', 'medium', 5, 'multiple_choice', 1, 30, 'ai', NULL, '2026-04-19 06:24:13', '2026-04-19 06:24:13'),
(8, 1, 'Quiz: computer parts', 'computer parts', 'hard', 10, 'all', 1, 30, 'ai', NULL, '2026-04-19 07:12:20', '2026-04-19 07:12:20'),
(9, 3, 'Quiz: photography', 'photography', 'hard', 5, 'all', 1, 30, 'ai', NULL, '2026-04-19 07:19:33', '2026-04-19 07:19:33'),
(10, 1, 'Quiz: Charles babbage', 'Charles babbage', 'medium', 10, 'multiple_choice', 1, 30, 'ai', NULL, '2026-04-19 07:29:27', '2026-04-19 07:29:27'),
(11, 1, 'Quiz: Module1_EventDriven_Python.docx', 'Module1_EventDriven_Python.docx', 'medium', 10, 'multiple_choice', 0, 30, 'document', 'Module1_EventDriven_Python.docx', '2026-04-19 07:31:25', '2026-04-19 07:31:25'),
(12, 1, 'Quiz: Module1_EventDriven_Python.docx', 'Module1_EventDriven_Python.docx', 'medium', 10, 'multiple_choice', 1, 60, 'document', 'Module1_EventDriven_Python.docx', '2026-04-20 02:13:16', '2026-04-20 02:13:16'),
(13, 1, 'Quiz: System Administration', 'System Administration', 'medium', 5, 'multiple_choice', 1, 60, 'ai', NULL, '2026-04-20 08:49:34', '2026-04-20 08:49:34'),
(14, 1, 'Quiz: programming', 'programming', 'hard', 5, 'multiple_choice', 1, 30, 'ai', NULL, '2026-04-22 07:38:35', '2026-04-22 07:38:35'),
(15, 1, 'Quiz: coding practices', 'coding practices', 'medium', 5, 'multiple_choice', 0, 30, 'ai', NULL, '2026-04-23 05:45:19', '2026-04-23 05:45:19'),
(16, 1, 'Quiz: coding practices', 'coding practices', 'medium', 10, 'multiple_choice', 0, 30, 'ai', NULL, '2026-04-23 05:46:33', '2026-04-23 05:46:33'),
(17, 1, 'Quiz: Module1_EventDriven_Python.docx', 'Module1_EventDriven_Python.docx', 'hard', 7, 'multiple_choice', 1, 30, 'document', 'Module1_EventDriven_Python.docx', '2026-04-23 05:47:20', '2026-04-23 05:47:20'),
(18, 7, 'Quiz: Quantitative', 'Quantitative', 'medium', 5, 'multiple_choice', 1, 60, 'ai', NULL, '2026-04-23 08:19:24', '2026-04-23 08:19:24'),
(20, 8, 'Quiz: Research defense', 'Research defense', 'medium', 7, 'multiple_choice', 1, 30, 'ai', NULL, '2026-04-27 04:45:36', '2026-04-27 04:45:36'),
(21, 3, 'Quiz: RESEARCH INTERFACE', 'RESEARCH INTERFACE', 'medium', 7, 'multiple_choice', 1, 30, 'ai', NULL, '2026-04-27 04:45:44', '2026-04-27 04:45:44'),
(22, 1, 'Quiz: food beverages services', 'food beverages services', 'medium', 5, 'multiple_choice', 0, 45, 'ai', NULL, '2026-05-22 08:04:14', '2026-05-22 08:04:14'),
(23, 11, 'Quiz: OS', 'OS', 'hard', 10, 'multiple_choice', 1, 30, 'ai', NULL, '2026-06-30 15:51:38', '2026-06-30 15:51:38');

-- --------------------------------------------------------

--
-- Table structure for table `quiz_questions`
--

CREATE TABLE `quiz_questions` (
  `id` int(10) UNSIGNED NOT NULL,
  `deck_id` int(10) UNSIGNED NOT NULL,
  `user_id` int(10) UNSIGNED NOT NULL,
  `question_type` enum('multiple_choice','identification','true_false','short_answer') NOT NULL DEFAULT 'multiple_choice',
  `question` text NOT NULL,
  `options` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`options`)),
  `correct_answer` varchar(500) NOT NULL,
  `explanation` text DEFAULT NULL,
  `order` smallint(5) UNSIGNED DEFAULT 0,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `quiz_questions`
--

INSERT INTO `quiz_questions` (`id`, `deck_id`, `user_id`, `question_type`, `question`, `options`, `correct_answer`, `explanation`, `order`, `created_at`) VALUES
(1, 2, 3, 'multiple_choice', 'Who was part of the 2022-2023 and 2023-2024 groups?', '[\"Mark Kian Oliquiano\",\"Benjo Corido\",\"Kurt Cuya\",\"Jose Luis Pena\"]', 'Mark Kian Oliquiano', 'Mark Kian Oliquiano was present in both the 2022-2023 and 2023-2024 groups.', 0, '2026-04-19 06:22:20'),
(2, 2, 3, 'multiple_choice', 'Which individual was part of the most groups?', '[\"Lyka Izzabelle Dinoso\",\"Mark Kian Oliquiano\",\"Benjo Corido\",\"Kurt Cuya\"]', 'Lyka Izzabelle Dinoso', 'Lyka Izzabelle Dinoso was part of the 2022-2023, 2023-2024, and 2025-2026 groups.', 1, '2026-04-19 06:22:20'),
(3, 2, 3, 'multiple_choice', 'Who was not part of the 2022-2023 group?', '[\"Benjo Corido\",\"Kurt Cuya\",\"Jose Luis Pena\",\"Jules Ariola\"]', 'Kurt Cuya', 'Kurt Cuya was not part of the 2022-2023 group.', 2, '2026-04-19 06:22:20'),
(4, 2, 3, 'multiple_choice', 'What is the commonality between the 2024-2025 and 2025-2026 groups?', '[\"Both had Mark Kian Oliquiano\",\"Both had Lyka Dinoso and Benjo Corido\",\"Both had Kurt Cuya and Benjo Corido\",\"Both had Jose Luis Pena\"]', 'Both had Kurt Cuya and Benjo Corido', 'Kurt Cuya and Benjo Corido were part of both the 2024-2025 and 2025-2026 groups.', 3, '2026-04-19 06:22:20'),
(5, 2, 3, 'multiple_choice', 'Which of the following individuals was only part of one group?', '[\"Jose Luis Pena\",\"Jules Ariola\",\"Earl Osera\",\"Lucky Nogot\"]', 'Jose Luis Pena', 'Jose Luis Pena was only part of the 2024-2025 group.', 4, '2026-04-19 06:22:20'),
(6, 3, 3, 'multiple_choice', 'What is the primary goal of a firm in a perfectly competitive market?', '[\"To maximize profits\",\"To minimize costs\",\"To maximize revenue\",\"To minimize profits\"]', 'To maximize profits', 'Firms in a perfectly competitive market aim to maximize their profits by producing at the lowest possible cost and selling at the market price.', 0, '2026-04-19 06:24:13'),
(7, 3, 3, 'multiple_choice', 'Which of the following is a characteristic of a monopoly market structure?', '[\"Many buyers and sellers\",\"Free entry and exit\",\"Single buyer and multiple sellers\",\"Single seller and multiple buyers\"]', 'Single seller and multiple buyers', 'A monopoly is a market structure in which a single firm supplies the entire market with a particular good or service.', 1, '2026-04-19 06:24:13'),
(8, 3, 3, 'multiple_choice', 'What is the effect of an increase in demand on the price of a good in a competitive market?', '[\"The price decreases\",\"The price remains the same\",\"The price increases\",\"The quantity supplied decreases\"]', 'The price increases', 'An increase in demand leads to a higher price as buyers are willing to pay more for the good.', 2, '2026-04-19 06:24:13'),
(9, 3, 3, 'multiple_choice', 'Which economic concept states that the opportunity cost of a choice is the value of the next best alternative that is given up?', '[\"Scarcity\",\"Opportunity cost\",\"Comparative advantage\",\"Diminishing returns\"]', 'Opportunity cost', 'Opportunity cost is the value of the next best alternative that is given up when a choice is made.', 3, '2026-04-19 06:24:13'),
(10, 3, 3, 'multiple_choice', 'What is the difference between a normal good and an inferior good?', '[\"A normal good has a positive income effect, while an inferior good has a negative income effect\",\"A normal good has a negative income effect, while an inferior good has a positive income effect\",\"A normal good has a high price elasticity, while an inferior good has a low price elasticity\",\"A normal good has a low price elasticity, while an inferior good has a high price elasticity\"]', 'A normal good has a positive income effect, while an inferior good has a negative income effect', 'A normal good is one for which the demand increases as income increases, while an inferior good is one for which the demand decreases as income increases.', 4, '2026-04-19 06:24:13'),
(46, 8, 1, 'multiple_choice', 'What is the primary function of the northbridge chip in a computer\'s motherboard?', '[\"To control the keyboard and mouse\",\"To manage the flow of data between the CPU, RAM, and graphics card\",\"To regulate the power supply to the system\",\"To provide additional storage capacity\"]', 'To manage the flow of data between the CPU, RAM, and graphics card', 'The northbridge chip plays a crucial role in managing the flow of data between the CPU, RAM, and graphics card.', 0, '2026-04-19 07:12:20'),
(47, 8, 1, 'true_false', 'Is it true that a 64-bit operating system can only be installed on a 64-bit processor?', '[\"True\",\"False\"]', 'True', 'A 64-bit operating system requires a 64-bit processor to function.', 1, '2026-04-19 07:12:20'),
(48, 8, 1, 'identification', 'What term describes the process of retrieving data from the main memory?', NULL, 'Latency', 'Latency refers to the time it takes for the system to retrieve data from the main memory.', 2, '2026-04-19 07:12:20'),
(49, 8, 1, 'short_answer', 'What is the primary difference between a SATA and a PATA hard drive interface?', NULL, 'SATA uses a serial interface, while PATA uses a parallel interface', 'The primary difference between SATA and PATA is the type of interface used to connect the hard drive to the motherboard.', 3, '2026-04-19 07:12:20'),
(50, 8, 1, 'multiple_choice', 'What is the purpose of the thermal design power (TDP) specification for a CPU?', '[\"To measure the CPU\'s clock speed\",\"To determine the CPU\'s power consumption\",\"To calculate the CPU\'s cache size\",\"To evaluate the CPU\'s instruction set architecture\"]', 'To determine the CPU\'s power consumption', 'The TDP specification indicates the maximum amount of power that a CPU is designed to consume.', 4, '2026-04-19 07:12:20'),
(51, 8, 1, 'true_false', 'Is it true that a solid-state drive (SSD) uses moving parts to store data?', '[\"True\",\"False\"]', 'False', 'SSDs use flash memory to store data and do not have any moving parts.', 5, '2026-04-19 07:12:20'),
(52, 8, 1, 'identification', 'What term describes the technology used to increase the bandwidth of a graphics card by combining multiple GPUs?', NULL, 'SLI (Scalable Link Interface)', 'SLI is a technology used to increase the bandwidth of a graphics card by combining multiple GPUs.', 6, '2026-04-19 07:12:20'),
(53, 8, 1, 'short_answer', 'What is the primary advantage of using a RAID (Redundant Array of Independent Disks) configuration for data storage?', NULL, 'Improved data redundancy and fault tolerance', 'RAID configurations provide improved data redundancy and fault tolerance by duplicating data across multiple disks.', 7, '2026-04-19 07:12:20'),
(54, 8, 1, 'multiple_choice', 'What is the purpose of the BIOS (Basic Input/Output System) in a computer?', '[\"To provide a user interface for the operating system\",\"To manage the flow of data between the CPU and peripherals\",\"To configure the hardware settings for the system\",\"To install the operating system\"]', 'To configure the hardware settings for the system', 'The BIOS provides a set of routines that configure the hardware settings for the system and prepare it for booting.', 8, '2026-04-19 07:12:20'),
(55, 8, 1, 'true_false', 'Is it true that a CPU\'s clock speed is the only factor that determines its performance?', '[\"True\",\"False\"]', 'False', 'Other factors such as the number of cores, cache size, and instruction set architecture also play a role in determining a CPU\'s performance.', 9, '2026-04-19 07:12:20'),
(56, 9, 3, 'multiple_choice', 'What is the primary purpose of the zone system in photography?', '[\"To measure the brightness of a scene\",\"To determine the optimal aperture and shutter speed\",\"To control the contrast and tonal range of an image\",\"To calculate the depth of field\"]', 'To control the contrast and tonal range of an image', 'The zone system is a technique used to control the contrast and tonal range of an image by dividing it into different zones of brightness.', 0, '2026-04-19 07:19:34'),
(57, 9, 3, 'true_false', 'Is it true that a camera\'s dynamic range is limited by its sensor size?', '[\"True\",\"False\"]', 'True', 'A camera\'s dynamic range is indeed limited by its sensor size, as larger sensors can capture a wider range of tonal values.', 1, '2026-04-19 07:19:34'),
(58, 9, 3, 'identification', 'What term describes the phenomenon where a camera\'s autofocus system locks onto a subject that is not the intended target?', NULL, 'Focus breathing', 'Focus breathing occurs when a camera\'s autofocus system incorrectly focuses on a subject that is not the intended target, resulting in an out-of-focus image.', 2, '2026-04-19 07:19:34'),
(59, 9, 3, 'short_answer', 'What are the key differences between a telephoto lens and a wide-angle lens in terms of their effect on perspective?', NULL, 'A telephoto lens compresses perspective, making objects appear closer together, while a wide-angle lens expands perspective, making objects appear farther apart.', 'The differences in perspective between telephoto and wide-angle lenses are due to their respective focal lengths and angles of view.', 3, '2026-04-19 07:19:34'),
(60, 9, 3, 'true_false', 'Is it true that the Orton effect can be achieved using only a single image?', '[\"True\",\"False\"]', 'False', 'The Orton effect typically requires combining two images: one with a sharp focus and another with a soft, dreamy focus, to create a distinctive glow effect.', 4, '2026-04-19 07:19:34'),
(61, 10, 1, 'multiple_choice', 'What was the primary purpose of Charles Babbage\'s proposed mechanical general-purpose computer, the Analytical Engine?', '[\"To perform simple arithmetic calculations\",\"To automate weaving patterns\",\"To crack encryption codes\",\"To perform any mathematical calculation using punched cards and a central processing unit\"]', 'To perform any mathematical calculation using punched cards and a central processing unit', 'The Analytical Engine was designed to be a general-purpose computer that could perform any mathematical calculation using punched cards and a central processing unit.', 0, '2026-04-19 07:29:27'),
(62, 10, 1, 'multiple_choice', 'What was the name of Charles Babbage\'s first mechanical computer, which could perform basic arithmetic operations?', '[\"Difference Engine\",\"Analytical Engine\",\"Calculating Machine\",\"Arithmetic Engine\"]', 'Difference Engine', 'The Difference Engine was Charles Babbage\'s first mechanical computer, designed to perform basic arithmetic operations.', 1, '2026-04-19 07:29:27'),
(63, 10, 1, 'multiple_choice', 'Who is often credited with inventing the first computer program, intended for use with Charles Babbage\'s Analytical Engine?', '[\"Ada Lovelace\",\"Alan Turing\",\"Charles Babbage\",\"George Boole\"]', 'Ada Lovelace', 'Ada Lovelace is often credited with inventing the first computer program, intended for use with Charles Babbage\'s Analytical Engine.', 2, '2026-04-19 07:29:27'),
(64, 10, 1, 'multiple_choice', 'What was the main obstacle that prevented Charles Babbage from building the Analytical Engine during his lifetime?', '[\"Lack of funding\",\"Lack of technical expertise\",\"Lack of interest from the scientific community\",\"Lack of suitable materials\"]', 'Lack of funding', 'The main obstacle that prevented Charles Babbage from building the Analytical Engine during his lifetime was the lack of funding.', 3, '2026-04-19 07:29:27'),
(65, 10, 1, 'multiple_choice', 'What was the significance of Charles Babbage\'s work on the Analytical Engine in the development of modern computer science?', '[\"It led to the development of electronic computers\",\"It led to the development of mechanical computers\",\"It led to the development of programming languages\",\"It had no significant impact on the development of computer science\"]', 'It led to the development of electronic computers', 'Charles Babbage\'s work on the Analytical Engine laid the foundation for the development of electronic computers in the 20th century.', 4, '2026-04-19 07:29:27'),
(66, 10, 1, 'multiple_choice', 'How did Charles Babbage\'s work on the Difference Engine influence his design of the Analytical Engine?', '[\"It led him to abandon the idea of building a mechanical computer\",\"It led him to focus on building a computer that could only perform arithmetic operations\",\"It led him to design a computer that could perform any mathematical calculation\",\"It had no influence on his design of the Analytical Engine\"]', 'It led him to design a computer that could perform any mathematical calculation', 'Charles Babbage\'s work on the Difference Engine led him to design the Analytical Engine, which could perform any mathematical calculation.', 5, '2026-04-19 07:29:27'),
(67, 10, 1, 'multiple_choice', 'What was the role of punched cards in Charles Babbage\'s Analytical Engine?', '[\"To input data into the computer\",\"To output results from the computer\",\"To store programs and data\",\"To perform calculations\"]', 'To input data into the computer', 'Punched cards were used to input data into the Analytical Engine, allowing it to perform calculations based on the input data.', 6, '2026-04-19 07:29:27'),
(68, 10, 1, 'multiple_choice', 'How did Charles Babbage\'s work on the Analytical Engine influence the development of modern programming languages?', '[\"It led to the development of low-level programming languages\",\"It led to the development of high-level programming languages\",\"It had no influence on the development of programming languages\",\"It led to the development of machine-specific programming languages\"]', 'It led to the development of high-level programming languages', 'Charles Babbage\'s work on the Analytical Engine laid the foundation for the development of high-level programming languages, which are used to write programs that can be executed on a variety of computers.', 7, '2026-04-19 07:29:27'),
(69, 10, 1, 'multiple_choice', 'What was the significance of Charles Babbage\'s collaboration with Ada Lovelace on the Analytical Engine?', '[\"It led to the development of the first computer program\",\"It led to the development of the first computer language\",\"It led to the development of the first computer algorithm\",\"It had no significant impact on the development of computer science\"]', 'It led to the development of the first computer program', 'Charles Babbage\'s collaboration with Ada Lovelace led to the development of the first computer program, which was intended for use with the Analytical Engine.', 8, '2026-04-19 07:29:27'),
(70, 10, 1, 'multiple_choice', 'How did Charles Babbage\'s work on the Analytical Engine influence the development of artificial intelligence?', '[\"It led to the development of the first artificial intelligence program\",\"It led to the development of the first expert system\",\"It laid the foundation for the development of modern artificial intelligence\",\"It had no influence on the development of artificial intelligence\"]', 'It laid the foundation for the development of modern artificial intelligence', 'Charles Babbage\'s work on the Analytical Engine laid the foundation for the development of modern artificial intelligence, which is a field of study that focuses on creating machines that can think and learn like humans.', 9, '2026-04-19 07:29:27'),
(71, 11, 1, 'multiple_choice', 'What is the primary characteristic that distinguishes event-driven programming from traditional procedural programming?', '[\"Synchronous execution\",\"Asynchronous execution\",\"Linear control flow\",\"Top-to-bottom sequence\"]', 'Asynchronous execution', 'Event-driven programming is characterized by asynchronous execution, where code does not run in a strict top-to-bottom order.', 0, '2026-04-19 07:31:25'),
(72, 11, 1, 'multiple_choice', 'Which of the following is an example of an event-driven system?', '[\"A monthly payroll calculator\",\"A chat app responding to messages\",\"A script that reads a CSV file\",\"A temperature logger that records readings automatically\"]', 'A chat app responding to messages', 'A chat app responding to messages is an example of an event-driven system, as it reacts to incoming events (messages) and executes code in response.', 1, '2026-04-19 07:31:25'),
(73, 11, 1, 'multiple_choice', 'What is the purpose of the event loop in an event-driven system?', '[\"To execute code in a top-to-bottom sequence\",\"To dispatch events to their registered handlers\",\"To wait for user input\",\"To perform background work\"]', 'To dispatch events to their registered handlers', 'The event loop is the central dispatcher that continuously polls for new events and routes each one to its registered handler.', 2, '2026-04-19 07:31:25'),
(74, 11, 1, 'multiple_choice', 'Which of the following is a characteristic of event-driven systems?', '[\"Blocking execution\",\"Non-blocking execution\",\"Synchronous communication\",\"Linear control flow\"]', 'Non-blocking execution', 'Event-driven systems are characterized by non-blocking execution, where waiting for one event does not freeze other parts of the program.', 3, '2026-04-19 07:31:25'),
(75, 11, 1, 'multiple_choice', 'What is a callback in the context of event-driven programming?', '[\"A function that executes in a top-to-bottom sequence\",\"A function registered to execute when a specific event fires\",\"A function that performs background work\",\"A function that waits for user input\"]', 'A function registered to execute when a specific event fires', 'A callback is a function registered to execute when a specific event fires, also known as a handler.', 4, '2026-04-19 07:31:25'),
(76, 11, 1, 'multiple_choice', 'Which of the following is an example of a real-world event-driven system?', '[\"A traffic light\",\"A monthly payroll calculator\",\"A script that reads a CSV file\",\"A temperature logger that records readings automatically\"]', 'A traffic light', 'A traffic light is an example of a real-world event-driven system, as it reacts to events (timer expirations or sensor signals) and executes code in response (changing the light color).', 5, '2026-04-19 07:31:25'),
(77, 11, 1, 'multiple_choice', 'What is the purpose of decoupling in event-driven systems?', '[\"To tightly couple event producers and consumers\",\"To loosely couple event producers and consumers\",\"To execute code in a top-to-bottom sequence\",\"To perform background work\"]', 'To loosely couple event producers and consumers', 'Decoupling in event-driven systems refers to the separation of event producers (sources) from event consumers (handlers), allowing for loose coupling and greater flexibility.', 6, '2026-04-19 07:31:25'),
(78, 11, 1, 'multiple_choice', 'Which of the following is a category of events in event-driven programming?', '[\"User input\",\"System notifications\",\"Network requests\",\"All of the above\"]', 'All of the above', 'Events in event-driven programming can be categorized into several types, including user input, system notifications, network requests, and more.', 7, '2026-04-19 07:31:25'),
(79, 11, 1, 'multiple_choice', 'What is the term for the ability of an event-driven system to handle many event types independently and concurrently?', '[\"Scalability\",\"Responsiveness\",\"Asynchronous execution\",\"Non-blocking execution\"]', 'Scalability', 'Scalability refers to the ability of an event-driven system to handle many event types independently and concurrently, allowing for greater flexibility and performance.', 8, '2026-04-19 07:31:25'),
(80, 11, 1, 'multiple_choice', 'Which of the following is a benefit of using event-driven programming?', '[\"Improved synchronous execution\",\"Increased blocking execution\",\"Enhanced responsiveness\",\"Reduced scalability\"]', 'Enhanced responsiveness', 'Event-driven programming allows for enhanced responsiveness, as the system can react instantly to incoming events and execute code in response.', 9, '2026-04-19 07:31:25'),
(81, 12, 1, 'multiple_choice', 'What is the primary characteristic of event-driven programming?', '[\"Synchronous execution\",\"Asynchronous execution\",\"Linear execution\",\"Sequential execution\"]', 'Asynchronous execution', 'Event-driven programming is characterized by asynchronous execution, where code does not run in a strict top-to-bottom order.', 0, '2026-04-20 02:13:16'),
(82, 12, 1, 'multiple_choice', 'What is the purpose of the event loop in event-driven systems?', '[\"To execute code in a linear sequence\",\"To dispatch events to registered handlers\",\"To wait for user input\",\"To perform background work\"]', 'To dispatch events to registered handlers', 'The event loop continuously polls for new events and routes each one to its registered handler.', 1, '2026-04-20 02:13:16'),
(83, 12, 1, 'multiple_choice', 'What is a callback in event-driven programming?', '[\"A function that executes immediately\",\"A function registered to execute when a specific event fires\",\"A variable that stores event data\",\"A loop that waits for events\"]', 'A function registered to execute when a specific event fires', 'A callback is a function that is registered to execute when a specific event fires.', 2, '2026-04-20 02:13:16'),
(84, 12, 1, 'multiple_choice', 'What is an example of an event-driven system in everyday life?', '[\"A monthly payroll calculator\",\"A chat app responding to messages\",\"A script that reads a CSV file\",\"A program that prints student grades\"]', 'A chat app responding to messages', 'A chat app responding to messages is an example of an event-driven system, where the program reacts to incoming events (messages) and executes the corresponding handler.', 3, '2026-04-20 02:13:16'),
(85, 12, 1, 'multiple_choice', 'What is the difference between procedural and event-driven programming?', '[\"Procedural programming is asynchronous, while event-driven programming is synchronous\",\"Procedural programming is synchronous, while event-driven programming is asynchronous\",\"Procedural programming is event-driven, while event-driven programming is procedural\",\"Procedural programming is linear, while event-driven programming is non-linear\"]', 'Procedural programming is synchronous, while event-driven programming is asynchronous', 'Procedural programming executes code in a strict top-to-bottom order, while event-driven programming executes code in response to events.', 4, '2026-04-20 02:13:16'),
(86, 12, 1, 'multiple_choice', 'What are the five categories of events in event-driven systems?', '[\"User input, system, network, hardware\\/sensor, and database\",\"User input, system, network, hardware\\/sensor, and application\",\"User input, system, network, hardware\\/sensor, and file system\",\"User input, system, network, hardware\\/sensor, and web\"]', 'User input, system, network, hardware/sensor, and application', 'The five categories of events in event-driven systems are user input, system, network, hardware/sensor, and application.', 5, '2026-04-20 02:13:16'),
(87, 12, 1, 'multiple_choice', 'What is the purpose of decoupling in event-driven systems?', '[\"To tightly couple event producers and consumers\",\"To loosely couple event producers and consumers\",\"To increase the complexity of the system\",\"To decrease the scalability of the system\"]', 'To loosely couple event producers and consumers', 'Decoupling in event-driven systems means that event producers (sources) are separate from event consumers (handlers), allowing for greater flexibility and scalability.', 6, '2026-04-20 02:13:17'),
(88, 12, 1, 'multiple_choice', 'What is the benefit of non-blocking execution in event-driven systems?', '[\"Waiting for one event freezes other parts of the program\",\"Waiting for one event does not freeze other parts of the program\",\"Non-blocking execution decreases responsiveness\",\"Non-blocking execution decreases scalability\"]', 'Waiting for one event does not freeze other parts of the program', 'Non-blocking execution in event-driven systems means that waiting for one event does not freeze other parts of the program, allowing for greater responsiveness and scalability.', 7, '2026-04-20 02:13:17'),
(89, 12, 1, 'multiple_choice', 'What is the purpose of the event queue in the event loop?', '[\"To store registered handlers\",\"To store pending events\",\"To store executed events\",\"To store event data\"]', 'To store pending events', 'The event queue in the event loop stores pending events, which are then dequeued and dispatched to their registered handlers.', 8, '2026-04-20 02:13:17'),
(90, 12, 1, 'multiple_choice', 'What is the relationship between coroutines and the event loop in Python\'s asyncio?', '[\"Coroutines are tasks scheduled on a separate thread\",\"Coroutines are tasks scheduled on the event loop\",\"Coroutines are used for synchronous execution\",\"Coroutines are used for procedural programming\"]', 'Coroutines are tasks scheduled on the event loop', 'In Python\'s asyncio, coroutines are tasks scheduled on the event loop, allowing for asynchronous execution and non-blocking I/O operations.', 9, '2026-04-20 02:13:17'),
(91, 13, 1, 'multiple_choice', 'What is the primary purpose of a firewall in system administration?', '[\"To improve network performance\",\"To enhance user authentication\",\"To block unauthorized access to a network\",\"To monitor system logs\"]', 'To block unauthorized access to a network', 'Firewalls are used to control incoming and outgoing network traffic based on predetermined security rules.', 0, '2026-04-20 08:49:34'),
(92, 13, 1, 'multiple_choice', 'Which of the following system administration tasks is typically performed during system maintenance?', '[\"Installing new hardware\",\"Configuring network settings\",\"Applying security patches and updates\",\"Setting up user accounts\"]', 'Applying security patches and updates', 'Regular system maintenance involves applying security patches and updates to ensure the system remains secure and stable.', 1, '2026-04-20 08:49:34'),
(93, 13, 1, 'multiple_choice', 'What is the difference between a daemon and a service in system administration?', '[\"A daemon is a background process, while a service is a foreground process\",\"A daemon is a foreground process, while a service is a background process\",\"A daemon is a type of service that runs in the background\",\"A daemon and a service are interchangeable terms\"]', 'A daemon is a type of service that runs in the background', 'Daemons are background processes that run continuously, performing specific system tasks, while services can refer to any program or process that provides a specific functionality.', 2, '2026-04-20 08:49:34'),
(94, 13, 1, 'multiple_choice', 'Which system administration tool is used to manage and configure network interfaces?', '[\"Syslog\",\"Cron\",\"Ifconfig\",\"Tcpdump\"]', 'Ifconfig', 'Ifconfig is a command-line utility used to configure and manage network interfaces, including assigning IP addresses and setting interface properties.', 3, '2026-04-20 08:49:34'),
(95, 13, 1, 'multiple_choice', 'What is the purpose of a system log in system administration?', '[\"To monitor system performance\",\"To track user activity\",\"To store system configuration files\",\"To record system events and errors\"]', 'To record system events and errors', 'System logs are used to record system events, errors, and warnings, providing valuable information for troubleshooting and debugging purposes.', 4, '2026-04-20 08:49:34'),
(96, 14, 1, 'multiple_choice', 'What is the primary purpose of using a singleton design pattern in object-oriented programming?', '[\"To create multiple instances of a class\",\"To restrict instantiation of a class to a single instance\",\"To increase the complexity of a program\",\"To reduce code readability\"]', 'To restrict instantiation of a class to a single instance', 'The singleton pattern ensures that only one instance of a class is created, providing a global point of access to it.', 0, '2026-04-22 07:38:35'),
(97, 14, 1, 'multiple_choice', 'Which of the following algorithms has an average time complexity of O(n log n) for sorting a list of elements?', '[\"Bubble sort\",\"Selection sort\",\"Merge sort\",\"Insertion sort\"]', 'Merge sort', 'Merge sort is a divide-and-conquer algorithm that splits the list into smaller chunks, sorts them, and merges them back together, resulting in an average time complexity of O(n log n).', 1, '2026-04-22 07:38:36'),
(98, 14, 1, 'multiple_choice', 'What is the term for the process of determining the most efficient order in which to perform a series of operations, given certain constraints?', '[\"Scheduling\",\"Sorting\",\"Searching\",\"Optimization\"]', 'Scheduling', 'Scheduling involves determining the optimal order in which to perform a series of operations, taking into account constraints such as resource availability and dependencies between tasks.', 2, '2026-04-22 07:38:36'),
(99, 14, 1, 'multiple_choice', 'Which of the following programming paradigms is based on the concept of pure functions, immutability, and the avoidance of changing state?', '[\"Object-oriented programming\",\"Functional programming\",\"Imperative programming\",\"Declarative programming\"]', 'Functional programming', 'Functional programming emphasizes the use of pure functions, immutability, and the avoidance of changing state, making it a paradigm that focuses on the evaluation of expressions rather than the execution of statements.', 3, '2026-04-22 07:38:36'),
(100, 14, 1, 'multiple_choice', 'What is the purpose of the \'finally\' block in a try-catch-finally exception handling mechanism?', '[\"To catch and handle exceptions\",\"To provide a block of code that executes only if an exception is thrown\",\"To provide a block of code that executes regardless of whether an exception is thrown\",\"To skip the execution of the code in the try block\"]', 'To provide a block of code that executes regardless of whether an exception is thrown', 'The \'finally\' block is used to provide a block of code that executes regardless of whether an exception is thrown, allowing for the release of resources and the cleanup of code.', 4, '2026-04-22 07:38:36'),
(101, 15, 1, 'multiple_choice', 'What is the primary purpose of using design patterns in coding practices?', '[\"To reduce code complexity\",\"To increase code readability\",\"To improve code maintainability\",\"All of the above\"]', 'All of the above', 'Design patterns help reduce code complexity, increase code readability, and improve code maintainability.', 0, '2026-04-23 05:45:19'),
(102, 15, 1, 'multiple_choice', 'Which coding practice is focused on writing automated tests before writing the actual code?', '[\"Test-Driven Development\",\"Behavior-Driven Development\",\"Continuous Integration\",\"Continuous Deployment\"]', 'Test-Driven Development', 'Test-Driven Development is a coding practice where automated tests are written before writing the actual code.', 1, '2026-04-23 05:45:19'),
(103, 15, 1, 'multiple_choice', 'What is the main difference between monolithic architecture and microservices architecture?', '[\"Monolithic is more scalable\",\"Microservices is more complex\",\"Monolithic has a single codebase, while microservices has multiple\",\"Microservices is less secure\"]', 'Monolithic has a single codebase, while microservices has multiple', 'The main difference between monolithic architecture and microservices architecture is that monolithic has a single codebase, while microservices has multiple.', 2, '2026-04-23 05:45:19'),
(104, 15, 1, 'multiple_choice', 'Which coding practice involves integrating code changes into a central repository frequently?', '[\"Continuous Integration\",\"Continuous Deployment\",\"Continuous Monitoring\",\"Continuous Testing\"]', 'Continuous Integration', 'Continuous Integration involves integrating code changes into a central repository frequently.', 3, '2026-04-23 05:45:19'),
(105, 15, 1, 'multiple_choice', 'What is the purpose of code refactoring?', '[\"To add new features\",\"To fix bugs\",\"To improve code performance\",\"To improve code structure and readability\"]', 'To improve code structure and readability', 'The purpose of code refactoring is to improve code structure and readability, making it easier to maintain and understand.', 4, '2026-04-23 05:45:19'),
(106, 16, 1, 'multiple_choice', 'What is the primary purpose of code refactoring?', '[\"To add new features\",\"To fix bugs\",\"To improve code readability and maintainability\",\"To optimize performance\"]', 'To improve code readability and maintainability', 'Refactoring is the process of restructuring existing code to make it more efficient, readable, and maintainable without changing its external behavior.', 0, '2026-04-23 05:46:33'),
(107, 16, 1, 'multiple_choice', 'Which coding practice helps to reduce the complexity of code by breaking it down into smaller, manageable functions?', '[\"Modularization\",\"Encapsulation\",\"Abstraction\",\"Inheritance\"]', 'Modularization', 'Modularization is the process of breaking down a large program into smaller, independent modules that can be developed and tested separately.', 1, '2026-04-23 05:46:33'),
(108, 16, 1, 'multiple_choice', 'What is the benefit of using a version control system like Git?', '[\"To improve code performance\",\"To reduce development time\",\"To collaborate with team members and track changes\",\"To add new features to the code\"]', 'To collaborate with team members and track changes', 'Version control systems like Git allow multiple developers to collaborate on a project, track changes, and manage different versions of the code.', 2, '2026-04-23 05:46:33'),
(109, 16, 1, 'multiple_choice', 'Which coding principle states that a class should have only one reason to change?', '[\"Single Responsibility Principle\",\"Open-Closed Principle\",\"Liskov Substitution Principle\",\"Interface Segregation Principle\"]', 'Single Responsibility Principle', 'The Single Responsibility Principle states that a class should have only one reason to change, meaning it should have only one responsibility or functionality.', 3, '2026-04-23 05:46:33'),
(110, 16, 1, 'multiple_choice', 'What is the purpose of a code review?', '[\"To test the code\",\"To debug the code\",\"To improve the quality and readability of the code\",\"To deploy the code\"]', 'To improve the quality and readability of the code', 'A code review is a process where a developer\'s code is reviewed by another developer to improve its quality, readability, and maintainability.', 4, '2026-04-23 05:46:33'),
(111, 16, 1, 'multiple_choice', 'Which coding practice involves writing automated tests for the code before writing the actual code?', '[\"Test-Driven Development\",\"Behavior-Driven Development\",\"Acceptance-Driven Development\",\"Continuous Integration\"]', 'Test-Driven Development', 'Test-Driven Development is a coding practice where automated tests are written before writing the actual code, to ensure the code meets the required functionality and is testable.', 5, '2026-04-23 05:46:33'),
(112, 16, 1, 'multiple_choice', 'What is the benefit of using a continuous integration/continuous deployment (CI/CD) pipeline?', '[\"To reduce the time spent on testing and deployment\",\"To improve the quality and reliability of the code\",\"To increase the complexity of the code\",\"To decrease the frequency of code updates\"]', 'To improve the quality and reliability of the code', 'A CI/CD pipeline automates the testing, building, and deployment of code, improving its quality and reliability by catching errors and bugs early in the development process.', 6, '2026-04-23 05:46:33'),
(113, 16, 1, 'multiple_choice', 'Which coding principle states that a class should be open for extension but closed for modification?', '[\"Open-Closed Principle\",\"Single Responsibility Principle\",\"Liskov Substitution Principle\",\"Interface Segregation Principle\"]', 'Open-Closed Principle', 'The Open-Closed Principle states that a class should be open for extension, meaning new functionality can be added, but closed for modification, meaning the existing code should not be changed.', 7, '2026-04-23 05:46:33'),
(114, 16, 1, 'multiple_choice', 'What is the purpose of a coding standard?', '[\"To improve code performance\",\"To reduce development time\",\"To ensure consistency and readability of the code\",\"To add new features to the code\"]', 'To ensure consistency and readability of the code', 'A coding standard is a set of guidelines and rules that ensure the consistency and readability of the code, making it easier to maintain and understand.', 8, '2026-04-23 05:46:33'),
(115, 16, 1, 'multiple_choice', 'Which coding practice involves writing code that is easy to understand and maintain, with clear and concise variable names and comments?', '[\"Clean Code\",\"Dirty Code\",\"Test-Driven Development\",\"Behavior-Driven Development\"]', 'Clean Code', 'Clean Code is a coding practice that involves writing code that is easy to understand and maintain, with clear and concise variable names and comments, making it easier to modify and extend the code.', 9, '2026-04-23 05:46:33'),
(116, 17, 1, 'multiple_choice', 'What is the primary characteristic that distinguishes event-driven programming from traditional procedural programming?', '[\"Synchronous execution\",\"Asynchronous execution\",\"Linear control flow\",\"Static event handling\"]', 'Asynchronous execution', 'Event-driven programming is characterized by asynchronous execution, where the program\'s control flow is determined by external events rather than a fixed sequence.', 0, '2026-04-23 05:47:20'),
(117, 17, 1, 'multiple_choice', 'Which of the following is an example of a real-world event-driven system?', '[\"A monthly payroll calculator\",\"A chat app responding to messages\",\"A script that reads a CSV file\",\"A temperature logger that records readings every hour\"]', 'A chat app responding to messages', 'A chat app responding to messages is an example of an event-driven system, where the program reacts to incoming messages and responds accordingly.', 1, '2026-04-23 05:47:20'),
(118, 17, 1, 'multiple_choice', 'What is the purpose of the event loop in an event-driven system?', '[\"To execute a fixed sequence of instructions\",\"To continuously poll for new events and route them to registered handlers\",\"To handle a single type of event\",\"To block other parts of the program while waiting for an event\"]', 'To continuously poll for new events and route them to registered handlers', 'The event loop is the central dispatcher that continuously polls for new events and routes each one to its registered handler.', 2, '2026-04-23 05:47:20'),
(119, 17, 1, 'multiple_choice', 'What is a callback in the context of event-driven programming?', '[\"A function that executes immediately when called\",\"A function that is registered to execute when a specific event fires\",\"A function that blocks other parts of the program\",\"A function that handles a single type of event\"]', 'A function that is registered to execute when a specific event fires', 'A callback is a function that is registered to execute when a specific event fires, allowing the program to respond to the event accordingly.', 3, '2026-04-23 05:47:20'),
(120, 17, 1, 'multiple_choice', 'Which of the following categories of events includes keyboard presses and mouse clicks?', '[\"System events\",\"Network events\",\"Hardware\\/sensor events\",\"User input events\"]', 'User input events', 'User input events include keyboard presses, mouse clicks, touch gestures, and form submissions.', 4, '2026-04-23 05:47:20'),
(121, 17, 1, 'multiple_choice', 'What is the term for the separation of event producers and event consumers in an event-driven system?', '[\"Coupling\",\"Decoupling\",\"Asynchronous execution\",\"Synchronous execution\"]', 'Decoupling', 'Decoupling refers to the separation of event producers and event consumers, allowing them to operate independently and improving the system\'s scalability and responsiveness.', 5, '2026-04-23 05:47:20'),
(122, 17, 1, 'multiple_choice', 'Which Python library is used to implement the event loop and handle I/O events in an event-driven system?', '[\"asyncio\",\"threading\",\"socket\",\"select\"]', 'asyncio', 'The asyncio library is used to implement the event loop and handle I/O events in an event-driven system, providing support for coroutines and asynchronous execution.', 6, '2026-04-23 05:47:20'),
(123, 18, 7, 'multiple_choice', 'What is the primary purpose of descriptive statistics in quantitative analysis?', '[\"To predict future trends\",\"To identify causal relationships\",\"To summarize and describe data\",\"To test hypotheses\"]', 'To summarize and describe data', 'Descriptive statistics is used to summarize and describe the basic features of a dataset.', 0, '2026-04-23 08:19:24'),
(124, 18, 7, 'multiple_choice', 'Which of the following types of data is typically used for quantitative analysis?', '[\"Qualitative data\",\"Ordinal data\",\"Nominal data\",\"Ratio data\"]', 'Ratio data', 'Ratio data has a true zero point and allows for meaningful comparisons and calculations.', 1, '2026-04-23 08:19:24'),
(125, 18, 7, 'multiple_choice', 'What is the effect of increasing the sample size on the standard error of the mean?', '[\"It increases the standard error\",\"It has no effect on the standard error\",\"It decreases the standard error\",\"It makes the standard error undefined\"]', 'It decreases the standard error', 'Increasing the sample size reduces the standard error of the mean, making the estimate more precise.', 2, '2026-04-23 08:19:24'),
(126, 18, 7, 'multiple_choice', 'Which of the following is a characteristic of a normally distributed dataset?', '[\"It is skewed to the right\",\"It is bimodal\",\"It is symmetric around the mean\",\"It has a uniform distribution\"]', 'It is symmetric around the mean', 'A normally distributed dataset is symmetric around the mean, with the majority of data points clustered around the mean.', 3, '2026-04-23 08:19:24'),
(127, 18, 7, 'multiple_choice', 'What is the purpose of hypothesis testing in quantitative analysis?', '[\"To describe the characteristics of a dataset\",\"To identify correlations between variables\",\"To determine the relationship between variables\",\"To make inferences about a population based on a sample\"]', 'To make inferences about a population based on a sample', 'Hypothesis testing is used to make inferences about a population based on a sample, by testing a hypothesis about the population parameter.', 4, '2026-04-23 08:19:24'),
(135, 20, 8, 'multiple_choice', 'What is the primary purpose of a research defense?', '[\"To criticize the research methodology\",\"To educate the audience about the research topic\",\"To demonstrate the researcher\'s expertise and defend their work\",\"To entertain the audience\"]', 'To demonstrate the researcher\'s expertise and defend their work', 'The primary purpose of a research defense is for the researcher to demonstrate their expertise and defend their work against potential criticisms.', 0, '2026-04-27 04:45:36'),
(136, 20, 8, 'multiple_choice', 'What is the role of the research committee in a research defense?', '[\"To provide feedback on the research methodology\",\"To ask questions and challenge the researcher\'s findings\",\"To provide funding for the research project\",\"To edit the research paper\"]', 'To ask questions and challenge the researcher\'s findings', 'The research committee plays a crucial role in a research defense by asking questions and challenging the researcher\'s findings to test their knowledge and expertise.', 1, '2026-04-27 04:45:36'),
(137, 20, 8, 'multiple_choice', 'What is the most effective way to handle a difficult question during a research defense?', '[\"To avoid answering the question\",\"To become defensive and argumentative\",\"To take a moment to think before responding clearly and concisely\",\"To change the subject\"]', 'To take a moment to think before responding clearly and concisely', 'The most effective way to handle a difficult question during a research defense is to take a moment to think before responding clearly and concisely, demonstrating confidence and expertise.', 2, '2026-04-27 04:45:36'),
(138, 20, 8, 'multiple_choice', 'What is the importance of anticipating potential criticisms during a research defense?', '[\"It helps to avoid potential criticisms\",\"It demonstrates a lack of confidence in the research\",\"It shows preparedness and ability to address potential weaknesses\",\"It is not necessary to anticipate potential criticisms\"]', 'It shows preparedness and ability to address potential weaknesses', 'Anticipating potential criticisms during a research defense shows preparedness and ability to address potential weaknesses, demonstrating a higher level of expertise and confidence.', 3, '2026-04-27 04:45:36'),
(139, 20, 8, 'multiple_choice', 'How can a researcher prepare for a research defense?', '[\"By rehearsing their presentation several times\",\"By reading their research paper aloud\",\"By anticipating potential questions and practicing responses\",\"By all of the above\"]', 'By all of the above', 'A researcher can prepare for a research defense by rehearsing their presentation several times, reading their research paper aloud, and anticipating potential questions and practicing responses.', 4, '2026-04-27 04:45:36'),
(140, 20, 8, 'multiple_choice', 'What is the benefit of receiving feedback during a research defense?', '[\"It helps to identify areas for improvement\",\"It provides an opportunity to revise the research paper\",\"It demonstrates the researcher\'s expertise\",\"It is not beneficial to receive feedback\"]', 'It helps to identify areas for improvement', 'Receiving feedback during a research defense helps to identify areas for improvement, allowing the researcher to refine their work and increase its validity.', 5, '2026-04-27 04:45:36'),
(141, 20, 8, 'multiple_choice', 'What is the outcome of a successful research defense?', '[\"The researcher\'s degree is revoked\",\"The research paper is published immediately\",\"The researcher is awarded their degree\",\"The research project is terminated\"]', 'The researcher is awarded their degree', 'The outcome of a successful research defense is that the researcher is awarded their degree, having demonstrated their expertise and defended their work against potential criticisms.', 6, '2026-04-27 04:45:36'),
(142, 21, 3, 'multiple_choice', 'What is the primary purpose of a research interface?', '[\"To collect and store data\",\"To analyze and visualize data\",\"To facilitate user interaction with a database or system\",\"To generate research reports\"]', 'To facilitate user interaction with a database or system', 'A research interface is designed to provide a convenient and efficient way for users to interact with a database or system, allowing them to retrieve, analyze, and visualize data.', 0, '2026-04-27 04:45:44'),
(143, 21, 3, 'multiple_choice', 'Which of the following is a key characteristic of a well-designed research interface?', '[\"Complexity\",\"Inconsistency\",\"Intuitiveness\",\"Inflexibility\"]', 'Intuitiveness', 'A well-designed research interface should be intuitive, meaning that it is easy for users to understand and navigate, even if they have limited experience with the system.', 1, '2026-04-27 04:45:44'),
(144, 21, 3, 'multiple_choice', 'What is the benefit of using a standardized research interface?', '[\"Increased complexity\",\"Improved data security\",\"Enhanced user experience\",\"Reduced compatibility\"]', 'Enhanced user experience', 'A standardized research interface can provide a consistent and familiar experience for users, making it easier for them to navigate and use the system.', 2, '2026-04-27 04:45:44'),
(145, 21, 3, 'multiple_choice', 'How does a research interface impact the research process?', '[\"It hinders the research process by limiting access to data\",\"It has no impact on the research process\",\"It facilitates the research process by providing efficient data retrieval\",\"It replaces the need for human researchers\"]', 'It facilitates the research process by providing efficient data retrieval', 'A research interface can facilitate the research process by providing efficient data retrieval, analysis, and visualization capabilities, allowing researchers to focus on higher-level tasks.', 3, '2026-04-27 04:45:44'),
(146, 21, 3, 'multiple_choice', 'What is the role of usability testing in the development of a research interface?', '[\"To evaluate the aesthetic appeal of the interface\",\"To assess the compatibility of the interface with different devices\",\"To identify and fix usability issues\",\"To determine the cost-effectiveness of the interface\"]', 'To identify and fix usability issues', 'Usability testing plays a crucial role in the development of a research interface, as it helps to identify and fix usability issues, ensuring that the interface is intuitive and easy to use.', 4, '2026-04-27 04:45:44'),
(147, 21, 3, 'multiple_choice', 'How does a research interface support collaboration among researchers?', '[\"By providing a shared workspace for data analysis\",\"By facilitating communication through email notifications\",\"By enabling real-time data sharing and collaboration\",\"By restricting access to sensitive data\"]', 'By enabling real-time data sharing and collaboration', 'A research interface can support collaboration among researchers by enabling real-time data sharing and collaboration, allowing multiple users to work together on a project and share results.', 5, '2026-04-27 04:45:44');
INSERT INTO `quiz_questions` (`id`, `deck_id`, `user_id`, `question_type`, `question`, `options`, `correct_answer`, `explanation`, `order`, `created_at`) VALUES
(148, 21, 3, 'multiple_choice', 'What is the impact of a poorly designed research interface on user engagement?', '[\"It increases user engagement and motivation\",\"It has no impact on user engagement\",\"It decreases user engagement and motivation\",\"It leads to increased errors and data loss\"]', 'It decreases user engagement and motivation', 'A poorly designed research interface can lead to frustration and decreased user engagement, as users may struggle to navigate and use the system, ultimately reducing their motivation to continue using it.', 6, '2026-04-27 04:45:44'),
(149, 22, 1, 'multiple_choice', 'What is the primary purpose of pasteurization in food and beverage services?', '[\"To add flavor to products\",\"To kill harmful bacteria and extend shelf life\",\"To change the texture of products\",\"To reduce the cost of production\"]', 'To kill harmful bacteria and extend shelf life', 'Pasteurization is a process that kills harmful bacteria and extends the shelf life of products.', 0, '2026-05-22 08:04:14'),
(150, 22, 1, 'multiple_choice', 'Which of the following types of coffee is made by forcing pressurized hot water through finely ground coffee beans?', '[\"Drip coffee\",\"French press coffee\",\"Espresso\",\"Turkish coffee\"]', 'Espresso', 'Espresso is a type of coffee that is made by forcing pressurized hot water through finely ground coffee beans.', 1, '2026-05-22 08:04:14'),
(151, 22, 1, 'multiple_choice', 'What is the term for the process of cooking sugar slowly to a high temperature to create a smooth, creamy texture?', '[\"Caramelization\",\"Crystallization\",\"Gelatinization\",\"Tempering\"]', 'Caramelization', 'Caramelization is the process of cooking sugar slowly to a high temperature to create a smooth, creamy texture.', 2, '2026-05-22 08:04:14'),
(152, 22, 1, 'multiple_choice', 'Which of the following food safety practices is most effective in preventing cross-contamination in a kitchen?', '[\"Separating raw and cooked foods\",\"Using the same utensils for all foods\",\"Not washing hands regularly\",\"Not cleaning and sanitizing surfaces\"]', 'Separating raw and cooked foods', 'Separating raw and cooked foods is an effective way to prevent cross-contamination in a kitchen.', 3, '2026-05-22 08:04:14'),
(153, 22, 1, 'multiple_choice', 'What is the primary difference between a buffet and a banquet in food and beverage services?', '[\"The type of food served\",\"The number of guests\",\"The style of service\",\"The location of the event\"]', 'The style of service', 'The primary difference between a buffet and a banquet is the style of service, with a buffet being a self-service style and a banquet being a full-service style.', 4, '2026-05-22 08:04:14'),
(154, 23, 11, 'multiple_choice', 'What is the primary purpose of the Virtual Memory Manager in an operating system?', '[\"To manage user accounts and permissions\",\"To optimize disk storage space\",\"To provide a layer of abstraction between physical and virtual memory\",\"To handle network communications\"]', 'To provide a layer of abstraction between physical and virtual memory', 'The Virtual Memory Manager provides a layer of abstraction between physical and virtual memory, allowing multiple programs to share the same physical memory space.', 0, '2026-06-30 15:51:39'),
(155, 23, 11, 'multiple_choice', 'Which scheduling algorithm is known for its ability to minimize the average turnaround time and maximize system throughput?', '[\"First-Come-First-Served (FCFS)\",\"Shortest Job First (SJF)\",\"Priority Scheduling (PS)\",\"Round Robin (RR)\"]', 'Shortest Job First (SJF)', 'The Shortest Job First scheduling algorithm is known for its ability to minimize the average turnaround time and maximize system throughput by prioritizing the shortest jobs first.', 1, '2026-06-30 15:51:39'),
(156, 23, 11, 'multiple_choice', 'What is the term for the process of dividing a disk into smaller, fixed-size blocks to improve disk performance and reduce fragmentation?', '[\"Partitioning\",\"Formatting\",\"Block allocation\",\"Sector mapping\"]', 'Block allocation', 'Block allocation is the process of dividing a disk into smaller, fixed-size blocks to improve disk performance and reduce fragmentation.', 2, '2026-06-30 15:51:39'),
(157, 23, 11, 'multiple_choice', 'Which operating system concept is responsible for managing the allocation and deallocation of system resources such as memory, CPU time, and I/O devices?', '[\"Process management\",\"Memory management\",\"File system management\",\"Resource allocation\"]', 'Resource allocation', 'Resource allocation is the operating system concept responsible for managing the allocation and deallocation of system resources such as memory, CPU time, and I/O devices.', 3, '2026-06-30 15:51:39'),
(158, 23, 11, 'multiple_choice', 'What is the purpose of the Page Replacement Algorithm in a virtual memory system?', '[\"To allocate pages to processes\",\"To deallocate pages from processes\",\"To replace pages in physical memory with pages from virtual memory\",\"To optimize disk storage space\"]', 'To replace pages in physical memory with pages from virtual memory', 'The Page Replacement Algorithm is used to replace pages in physical memory with pages from virtual memory when a page fault occurs.', 4, '2026-06-30 15:51:39'),
(159, 23, 11, 'multiple_choice', 'Which file system feature is used to improve data reliability and availability by storing multiple copies of data on different disks?', '[\"Journaling\",\"Striping\",\"Mirroring\",\"Compression\"]', 'Mirroring', 'Mirroring is a file system feature that improves data reliability and availability by storing multiple copies of data on different disks.', 5, '2026-06-30 15:51:39'),
(160, 23, 11, 'multiple_choice', 'What is the term for the process of temporarily removing a process from memory to free up resources for other processes?', '[\"Swapping\",\"Paging\",\"Segmentation\",\"Context switching\"]', 'Swapping', 'Swapping is the process of temporarily removing a process from memory to free up resources for other processes.', 6, '2026-06-30 15:51:39'),
(161, 23, 11, 'multiple_choice', 'Which operating system concept is responsible for managing the interaction between devices and the operating system?', '[\"Device management\",\"File system management\",\"Process management\",\"Memory management\"]', 'Device management', 'Device management is the operating system concept responsible for managing the interaction between devices and the operating system.', 7, '2026-06-30 15:51:39'),
(162, 23, 11, 'multiple_choice', 'What is the purpose of the Deadlock Detection Algorithm in an operating system?', '[\"To prevent deadlocks from occurring\",\"To detect deadlocks and recover from them\",\"To optimize system performance\",\"To manage memory allocation\"]', 'To detect deadlocks and recover from them', 'The Deadlock Detection Algorithm is used to detect deadlocks and recover from them by aborting one or more processes involved in the deadlock.', 8, '2026-06-30 15:51:39'),
(163, 23, 11, 'multiple_choice', 'Which operating system concept is responsible for managing the security and access control of system resources?', '[\"Access control\",\"Authentication\",\"Authorization\",\"All of the above\"]', 'All of the above', 'Access control, authentication, and authorization are all operating system concepts that work together to manage the security and access control of system resources.', 9, '2026-06-30 15:51:39');

-- --------------------------------------------------------

--
-- Table structure for table `quiz_responses`
--

CREATE TABLE `quiz_responses` (
  `id` int(10) UNSIGNED NOT NULL,
  `attempt_id` int(10) UNSIGNED NOT NULL,
  `question_id` int(10) UNSIGNED NOT NULL,
  `user_answer` text DEFAULT NULL,
  `is_correct` tinyint(1) DEFAULT 0,
  `time_taken` int(10) UNSIGNED DEFAULT 0,
  `answered_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------

--
-- Table structure for table `remember_tokens`
--

CREATE TABLE `remember_tokens` (
  `id` int(10) UNSIGNED NOT NULL,
  `user_id` int(10) UNSIGNED NOT NULL,
  `token_hash` varchar(64) NOT NULL,
  `expires_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `created_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `remember_tokens`
--

INSERT INTO `remember_tokens` (`id`, `user_id`, `token_hash`, `expires_at`, `created_at`) VALUES
(2, 1, 'c6dd14666b3c18e5927d01baf213c78d9861326c5cffcb71b1a1891f52b9a7af', '2026-05-17 00:41:49', '2026-04-17 06:41:49'),
(3, 1, '5fa1359e51c2072bdb294c106d523495156a5b33d4f31f2c42dc3ae972c3e484', '2026-05-17 00:42:01', '2026-04-17 06:42:01'),
(6, 5, '1c9f9d8e26972cbf266077e7b2b4d5e2a66753c6f4d4f22ec495a15f4d5a011b', '2026-05-22 00:54:42', '2026-04-22 06:54:42'),
(7, 7, '72100a9eef41b475d39ace3a1b4df706431d29ba5b24121495e3ac915457bdfa', '2026-05-23 02:18:39', '2026-04-23 08:18:39'),
(8, 8, '0aaeffb5a6136f338d07b67532d4a1e19560ec685e8071bc5eb97ddf070e4c2f', '2026-05-26 22:29:01', '2026-04-27 04:29:01'),
(9, 3, 'f3b7f633d15310e29b9e3870e0560ec3fcf18826496af72ba1d12ee35f594ba8', '2027-04-26 22:31:06', '2026-04-27 04:31:06'),
(10, 1, 'bf7947110d3288ae60354f8e89d384e732db5b5280138262a506f0e9ebd8978d', '2027-04-29 23:31:05', '2026-04-30 05:31:05'),
(12, 9, 'b00affe6b5ee9b6a3412b9d22d358d2936a4481810868cb0c2ceeeb06b1387fd', '2027-04-29 23:54:44', '2026-04-30 05:54:44'),
(13, 1, '7892836264a14785447f9a8aca31a5d68f1a2b00bdb4163b3fc4914845aa4a51', '2027-04-30 01:57:20', '2026-04-30 07:57:20'),
(15, 11, '989e80d064340f2d9cbef1f82cac94818eb90eb57785667e19a5bde301051716', '2027-06-28 08:32:35', '2026-06-28 14:32:35'),
(16, 11, '6a23fc088efcfde14531f9c862d3c0631d59d579e6ca5501a48832dc4c372694', '2027-06-28 08:33:02', '2026-06-28 14:33:02'),
(17, 11, '05999def81fcc9e31b5df65f4a9ccff739acebd949a09a7c365749119a9ba380', '2027-06-30 08:24:01', '2026-06-30 14:24:01'),
(18, 11, '6e7f54e49925849c3205750f2f10c7c02c02ac0f613bf4196c0d44b414aad483', '2027-06-30 08:24:01', '2026-06-30 14:24:01'),
(19, 11, '1c7e504d320456a3c7b722c4a609048ad1434406d9ccfa7265c894e9737773bd', '2027-06-30 22:06:13', '2026-07-01 04:06:13');

-- --------------------------------------------------------

--
-- Table structure for table `roadmap_items`
--

CREATE TABLE `roadmap_items` (
  `id` int(10) UNSIGNED NOT NULL,
  `teacher_id` int(10) UNSIGNED NOT NULL,
  `class_id` int(10) UNSIGNED DEFAULT NULL,
  `week_number` tinyint(3) UNSIGNED NOT NULL,
  `item_type` enum('topic','quiz','activity','midterm','final','holiday','event') DEFAULT 'topic',
  `title` varchar(200) NOT NULL,
  `description` text DEFAULT NULL,
  `color` varchar(7) DEFAULT '#0239eb',
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------

--
-- Table structure for table `study_sessions`
--

CREATE TABLE `study_sessions` (
  `id` int(10) UNSIGNED NOT NULL,
  `user_id` int(10) UNSIGNED NOT NULL,
  `subject` varchar(100) DEFAULT NULL,
  `minutes` int(10) UNSIGNED NOT NULL DEFAULT 0,
  `session_date` date NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `study_sessions`
--

INSERT INTO `study_sessions` (`id`, `user_id`, `subject`, `minutes`, `session_date`, `created_at`) VALUES
(1, 1, NULL, 25, '2026-04-17', '2026-04-17 11:20:46'),
(2, 1, NULL, 25, '2026-04-17', '2026-04-17 11:21:35'),
(3, 1, NULL, 25, '2026-04-20', '2026-04-20 02:26:03'),
(4, 1, NULL, 25, '2026-04-20', '2026-04-20 08:58:27'),
(5, 1, NULL, 25, '2026-04-23', '2026-04-23 05:43:35'),
(6, 1, NULL, 25, '2026-04-30', '2026-04-30 09:23:19'),
(7, 1, NULL, 25, '2026-04-30', '2026-04-30 09:28:58'),
(8, 1, NULL, 25, '2026-05-01', '2026-05-01 10:14:56'),
(9, 1, NULL, 25, '2026-06-27', '2026-06-27 00:46:20'),
(10, 1, NULL, 25, '2026-06-27', '2026-06-27 00:48:19'),
(11, 1, NULL, 25, '2026-06-27', '2026-06-27 00:55:02'),
(12, 1, NULL, 25, '2026-06-27', '2026-06-27 00:57:32'),
(13, 1, NULL, 25, '2026-06-27', '2026-06-27 01:37:25'),
(14, 11, NULL, 25, '2026-07-01', '2026-06-30 16:56:59');

-- --------------------------------------------------------

--
-- Table structure for table `subjects`
--

CREATE TABLE `subjects` (
  `id` int(10) UNSIGNED NOT NULL,
  `user_id` int(10) UNSIGNED NOT NULL,
  `code` varchar(20) NOT NULL,
  `name` varchar(100) NOT NULL,
  `instructor` varchar(100) DEFAULT NULL,
  `schedule` varchar(200) DEFAULT NULL,
  `room` varchar(50) DEFAULT NULL,
  `color` varchar(7) DEFAULT '#0ea5e9',
  `created_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------

--
-- Table structure for table `tasks`
--

CREATE TABLE `tasks` (
  `id` int(10) UNSIGNED NOT NULL,
  `user_id` int(10) UNSIGNED NOT NULL,
  `title` varchar(200) NOT NULL,
  `description` text DEFAULT NULL,
  `task_type` enum('teaching','admin','grading') DEFAULT 'teaching',
  `subject` varchar(100) DEFAULT NULL,
  `priority` enum('low','medium','high','urgent') DEFAULT 'medium',
  `status` enum('todo','in_progress','done') DEFAULT 'todo',
  `due_date` date DEFAULT NULL,
  `start_time` time DEFAULT NULL,
  `end_time` time DEFAULT NULL,
  `category` varchar(50) DEFAULT 'other',
  `repeat_type` varchar(20) DEFAULT NULL,
  `notify` tinyint(1) DEFAULT 1,
  `due_time` time DEFAULT NULL,
  `completed_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `tasks`
--

INSERT INTO `tasks` (`id`, `user_id`, `title`, `description`, `task_type`, `subject`, `priority`, `status`, `due_date`, `start_time`, `end_time`, `category`, `repeat_type`, `notify`, `due_time`, `completed_at`, `created_at`, `updated_at`) VALUES
(1, 1, 'Jzjzjz', 'Jzjzjz', 'teaching', 'Bzbs', 'medium', 'todo', '2026-06-29', NULL, NULL, 'other', NULL, 1, NULL, NULL, '2026-04-27 03:38:12', '2026-06-28 15:18:22'),
(2, 3, 'FF', 'DFGFD', 'teaching', 'RTRE', 'high', 'done', '2026-04-14', NULL, NULL, 'other', NULL, 1, NULL, '2026-04-26 22:23:51', '2026-04-27 04:22:48', '2026-04-27 04:23:51'),
(4, 11, 'hhh', 'bxbxc', 'teaching', 'xn', 'urgent', 'todo', '2026-06-30', NULL, NULL, 'other', NULL, 1, NULL, NULL, '2026-06-29 02:04:10', '2026-06-29 02:05:21'),
(5, 1, 'nnbvnbv', 'nbvc', 'teaching', NULL, 'urgent', 'todo', '2026-06-03', NULL, NULL, 'other', NULL, 1, NULL, NULL, '2026-06-29 16:43:45', '2026-06-29 16:43:45');

-- --------------------------------------------------------

--
-- Table structure for table `teacher_classes`
--

CREATE TABLE `teacher_classes` (
  `id` int(10) UNSIGNED NOT NULL,
  `teacher_id` int(10) UNSIGNED NOT NULL,
  `code` varchar(20) NOT NULL,
  `name` varchar(120) NOT NULL,
  `section` varchar(30) DEFAULT NULL,
  `room` varchar(50) DEFAULT NULL,
  `schedule` varchar(120) DEFAULT NULL,
  `student_count` smallint(5) UNSIGNED DEFAULT 0,
  `color` varchar(7) DEFAULT '#0239eb',
  `semester` tinyint(3) UNSIGNED DEFAULT 1,
  `school_year` varchar(9) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- --------------------------------------------------------

--
-- Table structure for table `uploaded_docs`
--

CREATE TABLE `uploaded_docs` (
  `id` int(10) UNSIGNED NOT NULL,
  `user_id` int(10) UNSIGNED NOT NULL,
  `session_id` varchar(64) DEFAULT NULL,
  `original_name` varchar(255) NOT NULL,
  `stored_name` varchar(255) NOT NULL,
  `mime_type` varchar(80) NOT NULL,
  `file_size` int(10) UNSIGNED NOT NULL,
  `extracted_text` mediumtext DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `uploaded_docs`
--

INSERT INTO `uploaded_docs` (`id`, `user_id`, `session_id`, `original_name`, `stored_name`, `mime_type`, `file_size`, `extracted_text`, `created_at`) VALUES
(2, 2, 'e64704c8a46a2a798c8b566a3ed73c44', 'platform.docx', 'a95e1c4d7bf3ce4c951c1cf40631468f.docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 28196, 'I. INTRODUCTION TO PLATFORM TECHNOLOGIES Platform Technologies are the foundation or environment where applications, services, and systems are built and run. Think of a platform as the “digital stage” where other apps perform. A platform provides: tools services infrastructure APIs storage communication rules user management security This allows developers to build systems faster without starting from zero. A platform is the underlying digital foundation that supports apps, services, and integrations. Simple Analogy Imagine building a house. The platform = the land + foundation The application = the house built on top Without a strong foundation, the house becomes unstable. The same idea applies to digital systems. II. CORE CONCEPTS OF PLATFORMS A platform is a stable digital environment where systems interact. Examples include: Operating Systems Windows Linux Android iOS Cloud Platforms AWS Azure Google Cloud Web Platforms Browsers Web servers frameworks AI Platforms ChatGPT Gemini Claude These platforms make development easier by offering reusable tools. III. CHARACTERISTICS OF A ROBUST PLATFORM A good platform must have strong qualities. 1) Openness and Extensibility This means the platform can be: expanded customized integrated improved Developers can add: plugins modules extensions APIs third-party services Example: A Learning Management System can add: quiz modules attendance tracking AI tutor grade analytics 2) Scalability Scalability means the platform can handle increasing users, data, and traffic. Example: A student portal with 100 users today may have 10,000 users next year. A scalable platform still performs well. Types: Vertical Scaling → stronger server Horizontal Scaling → more servers 3) Security Security protects: user accounts passwords payments records transactions private data Examples: login authentication role-based access encryption firewalls OTP verification This is very important for: banking apps school portals health systems POS systems 4) Interoperability Interoperability means different systems can communicate smoothly. This is often done using APIs. Example: A school system connects with: SMS notifications payment gateway grade database QR attendance scanner 5) Reliability and Availability The platform should be: stable always accessible low downtime fast recovery Example: A clinic system should work 24/7, especially during emergencies. 6) Developer Tools and APIs Platforms should provide tools that help developers. Examples: SDKs documentation code libraries REST APIs testing tools APIs are one of the most important parts because they define how systems talk to each other. 7) Data Management and Analytics Modern platforms must manage: user data logs reports dashboards trends analytics Example: A student platform can analyze: failing subjects attendance patterns late submissions average grades 8) Cost Effectiveness The platform should be affordable. Example: A startup may prefer: open-source cloud pay-as-you-go serverless architecture instead of buying expensive infrastructure. 9) Community Support Popular platforms are easier to use because many developers already use them. Examples: Stack Overflow GitHub documentation forums community plugins 10) Compliance and Governance Platforms should follow rules and policies. Examples: Data Privacy Act GDPR audit logs access monitoring school governance rules IV. BROAD TYPES OF PLATFORMS These are the technical categories. 1) Operating System Platform Examples: Windows Linux Android Function: Controls hardware and software resources. 2) Database Platform Examples: MySQL PostgreSQL MongoDB Function: Stores and manages structured data. 3) Mobile Platform Examples: Android iOS Flutter ecosystem Used for: mobile apps notifications GPS apps e-wallets 4) Cloud Computing Platform Examples: AWS Azure Google Cloud Used for: hosting deployment storage serverless apps AI services 5) IoT Platform IoT means devices connected to the internet. Examples: smart agriculture smart homes clinic sensors weather stations This is useful in Albay disaster monitoring systems. 6) Blockchain Platform Used for: secure transactions transparent records voting systems digital certificates 7) Security Platform Examples: SIEM identity management zero-trust security Used for cybersecurity. V. SPECIFIC PLATFORM CATEGORIES BY USE CASE These are the platforms users experience daily. 1) Social Media / Networking Platforms Purpose: People connect and share information. Examples: Facebook LinkedIn X Threads Use cases: career development communities announcements microblogging 2) Service and Marketplace Platforms These connect service providers with customers. Examples: Grab Uber Airbnb Upwork Functions: booking payments location ratings reviews These are called two-sided platforms. 3) Content Sharing and Media Platforms Examples: YouTube TikTok Pinterest Purpose: video sharing tutorials reels educational content visual references 4) Communication and Collaboration Examples: Messenger WhatsApp Discord Slack Microsoft Teams Purpose: meetings file sharing messaging remote collaboration 5) Knowledge and Educational Platforms Examples: Wikipedia W3Schools Stack Overflow Moodle Purpose: tutorials code solutions research self-paced learning 6) Transactional and Financial Platforms Examples: POS systems GCash Maya banking apps Functions: payments receipts wallet balance QR code scanning 7) Generative AI Platforms Powered by LLMs (Large Language Models). Examples: ChatGPT Gemini Claude Functions: text generation image understanding code generation summarization voice/video processing 8) ERP Platforms ERP = Enterprise Resource Planning Used in businesses for: HR payroll inventory accounting POS sales logistics VI. TECHNICAL COMPONENTS – WEB AND APIs This explains how platforms are built. A. Web Platforms Split into: Front-end What users see. HTML CSS JavaScript Back-end What happens behind the scenes. PHP Node.js Python Java SQL B. API (Application Programming Inter', '2026-04-15 05:20:59'),
(5, 2, 'e64704c8a46a2a798c8b566a3ed73c44', 'INTRODUCTIONv3.docx', '5f8c85141fb035d6b66b72c70a6fc2b7.docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 102066, 'PLT COLLEGE OF GUINOBATAN, INC College of Information Technology CAP101 – BSIT 3 CAPSTONE PROJECT AND RESEARCH 1 INTRODUCTION Prepared by: Evangelio, Joriz* BSIT 3, Nebres, Ivan Carlo* BSIT 3, Palaje, Jirwen BSIT 3, 23-7523 Simeon, Althea Mhae* BSIT 3, Suarez, Abegail BSIT 3, 23-7673 * Absent Submitted to: JOMAR CONSORTE, LPT, MIT Faculty, BSIT BACKGROUND OF THE STUDY Over the past few years, students have faced increasing academic demands that require effective management of time, tasks, and study routines. Poor time allocation and procrastination have been linked to reduced academic performance and heightened stress, highlighting the importance of self-regulation and time management for student success (Valente et al., 2024). With the rapid expansion of digital technologies, students increasingly rely on technological tools to support their study routines. Strategic and goal-oriented use of digital tools has been shown to enhance student engagement, motivation, and academic performance (Cancer et al., 2025). However, many existing tools focus on isolated functions and lack integration, personalization, and adaptability to meet diverse academic needs (Li et al., 2026). Time management strategies, such as the Pomodoro Technique, which breaks work into focused intervals with short breaks, have been shown to improve focus, reduce fatigue, and enhance productivity (Ogut, 2025). When combined with Artificial Intelligence (AI), these strategies can further boost efficiency (ONLIFE, 2024). AI, the simulation of human intelligence in machines, is transforming education by adapting to individual student needs, streamlining administrative tasks, and providing actionable insights through data analytics (Al-Deek, n.d.; eSchool News, 2024). Beyond functionality, the visual design of these digital tools plays a crucial role in sustaining student focus. Modern user interface paradigms, such as Neumorphism (Soft UI), help prevent digital fatigue by creating a tactile, minimalist environment. By reducing visual clutter, Neumorphic design lowers extraneous cognitive load, allowing students to maintain deeper concentration on their academic tasks. In the Philippines, Universities have explored AI-based tools to enhance learning, improve assessment, and provide timely feedback (Dabu, 2024; Estrellado et al., 2023). Government initiatives, such as the National AI Roadmap, the establishment of the National Centre for AI Research (N-CAIR), and local programs like the Albay Institute of Artificial Intelligence (AIAI), reflect a commitment to leveraging AI to improve education and productivity (Yusop, 2025; DitoSaPilipinas, 2025). This study will be conducted at PLT College of Guinobatan, Inc. (PLTCGI), a private higher education institution in San Francisco, Guinobatan, Albay. The institution provides a suitable environment for assessing students productivity, study habits, and use of digital learning tools. The proposed system, SPACE (Smart Productivity and Academic Companion for Education), aims to help students manage tasks, schedules, and notes efficiently, ultimately enhancing academic performance and productivity. PROBLEM STATEMENT This research will be conducted to determine the effectiveness of SPACE: Smart Productivity and Academic Companion for Education of PLT College of Guinobatan Inc. Students. Specifically, this study sought to answer the following questions: What problems do students encounter in managing academic tasks, notes, and schedules? What features should be included in the SPACE system to improve student productivity? How can a centralized academic productivity system be designed and developed for students? How effective is the system in terms of: Functionality Usability Efficiency portability reliability, and security RESEARCH QUESTIONS This study seeks to answer the following: How can Neumorphic design be applied to a web-based productivity system to reduce cognitive load among students? How effective is the SPACE system in terms of functionality, usability, efficiency, portability, reliability, and security? How does integrating a Pomodoro Timer, Task Manager, and Note-Taker into one platform impact student productivity? RESEARCH OBJECTIVES To achieve and assess what this research will come to, the researchers aim: To design and develop a responsive web application using a Neumorphic UI that provides students with a calming, tactile, and distraction-free workspace. To implement a unified dashboard that seamlessly integrates a note-taker, task manager, and a JavaScript-powered Pomodoro timer into one study hub. To evaluate the performance of the system using PHP and MySQL to ensure that all student data is saved securely and updates instantly across devices. To assess user satisfaction among PLT College students using the System Usability Scale (SUS) to confirm that the platform effectively reduces study-related stress. SIGNIFICANCE OF THE STUDY The development of SPACE (Smart Productivity and Academic Companion for Education) is expected to provide valuable benefits to the following: Students. It provides a centralized, Neumorphic environment that reduces \"app fatigue\" by merging notes, tasks, and timers into one place. This helps students manage their cognitive load, improve focus during study sessions, and maintain an organized record of their academic responsibilities. Faculty. Faculty members benefit from this when students utilize structured productivity tools, they are more likely to meet academic deadlines and submit higher-quality work, leading to a more efficient and productive teaching-learning environment. PLT College Of Guinobatan Inc. The institution benefits from the digital modernization of student support tools. Successful implementation demonstrates the college’s commitment to tech-driven learning and showcases the technical capabilities of its Information Technology department. Researchers. This study allows the researchers to bridge the gap between theory and pract', '2026-04-15 09:19:49'),
(6, 2, 'e64704c8a46a2a798c8b566a3ed73c44', 'Intro to Platform.pdf', 'aba6fb2732713921a1d25a3ea9ab39a1.pdf', 'application/pdf', 1387871, 'G 6 m ] @ \0? u \0? m  @ 6 Q m @ Q \0? + \0? m \\n @ ] 4 Q \0? \0? \0?  6 @ + @   \0? d \0J \0? \0l \0? \0? \0? \0? \0? \0? \0 \0l \0? \0? \0 \0? \0? \0? \0 \0| \0? \0? \0? \0? \0l \0? \0 \0? \0? \0l \0? \0? \0 \0? \0? \0? \0? \0? \0 \0l \0? \0? \0? \0? \0x \0l \0? \0? \0? \0? \0? \0 \0? \0? \0? \0? \0? \0? \0? 9 \0? \0? \0? \0? \0? \0| \0? \0? \0? \0 \0? \0? \0? \0? \0? & \0 \0? \0? \0? \0? \0? \0x \0? \0? & \0 \0? \0? \0? \0? \0l \0? \0? \0? \0? \0x \0? \0? \0? \0? & \0 \0 \0J \0& \0? & \0 \0? \0? \0? \0? \0l \0? \0? & \0 \0x \0? \0? \0? \0? \0? \0? \0x \0l \0? \0? \0? \0? \0 \0x \0? \0l \0? \0? \0? \0? \0? & \0 \0? \0? \0? \0? \0 \0? \0l \0? \0l \0? \0? \0? \0? \0? \0? & \0 \0l \0? \0| \0 \0? \0? \0x \0? \0? \0? \0? \0? + \0 \0V \0? \0? \0? \0 \0? \0? \0? \0 \0| \0? \0? \0? \0? \0? \0? \0? \0? \0? \0 \0w \0? \0? \0? \0| \0 \0? \0l \0? \0? \0? \0? \0 \0w \0? \0 \0? \0? \0? \0? \0? \0? \0? \0 \0x \0? \0? \0? \0 \0x \0l \0? \0l \0w \0? \0? \0? \0? \0? \0? \0? \0 \0? \0? \0? \0? \0? \0l \0| \0 \0? \0? \0 \0? \0? \0? \0? \0? \0? \0? \0? \0? \0? \0? \0 \0? \0? \0? \0 \0? \0? \0? \0? \0| \0l \0? \0? \0? \0? + \0 \0? \0l \0? \0? \0? \0? % \0 \0V \0? \0? \0 \0? \0? \0l \0? \0? \0? \0? \0? \0 \0? \0? \0 \0? \0? \0? \0 \0? \0l \0? \0| \0 u \0 \0? \0? \0? \0? \0| \0l \0? \0? \0? \0? 0 \0 \0l \0? \0 \0l \0? \0? \0? \0? \0x \0l \0? \0? \0? \0? \0 \0? \0? \0 \0? \0? \0? \0 \0? \0? \0? \0? \0? \0 \0w \0? \0? \0? \0? \0 \0? \0? \0 \0? \0? \0? + \0 \0 \0 \0? \0? \0l \0? \0 \0? \0? \0? \0? \0| \0l \0? \0? \0? \0? \0 \0? \0l \0? \0? \0? \0 \0? \0? \0? \0 \0? \0? \0? \0? \0? \0 \0? \0? \0? \0? \0l \0w \0? \0? 9 \0? \0l \0? \0? \0 \0? \0? \0? \0 \0| \0? \0? \0? \0? \0l \0? \0 \0? \0? \0? \0? \0? \0? \0? + \0 @ ] \0? Q \0 @ 6 \0? \0? Z m d  Q \0?  \0? m Q \0 @ u 6 m d Q \0? d Q \0? Q \0? + \0? m \\n @ ] 4 % \0mZ\0?] \0?m 6 Q \0? ? d m\0?4d \0c \0? \0? \0| \0? \0? \0? & \0 \04 \0? \0? \0? \0? & \0 \0 \0? \0| \0? \0? \0? \0| & \0 \0? \0@ \0Q \0 9 \0 \0? \0l \0? \0l \0? \0? \0 \0? \0l \0? \0| \0? \0l \0? \0? \0 \0l \0? \0| \0 \0? \0? \0? \0? \0? \0? \0? \0 \0? \0? \0? \0 \0l \0? \0? \0? \0? \0x \0l \0? \0? \0? \0? \0? + \0+@u\0? Q \0?+\0?m\\n @]4d \0 \0c \0Q & \0 \0 \0? \0? \0? \0? & \0 \0! \0 \0J \0 9 \0 \0? \0? \0? \0? \0? \0| \0?\0 \0? \0? \0? \0? \0? \0? \0? & \0 \0? \0? \0? \0? \0? \0? \0? \0? \0? \0? & \0 \0? \0? \0? \0? \0l \0? \0? & \0 \0l \0? \0| \0 \0? \0l \0? \0l \0? \0? \0| \0 \0? \0? \0? \0? \0? \0x \0? \0? + \0? \0?\0?Q\0?+\0?m\\n @]4d Q ?Q\0: ] \0?4 \0? ? @]\\( d \0 \0? \0? \0? \0? \0? \0? \0? & \0 \0? \0? \0w \0 \0? \0? \0? \0? \0? \0? \0? & \0 \0l \0? \0| \0 \0? \0? \0l \0? \0? \0? \0? \0? \0? \0? \0 \0? \0? \0l \0? \0 \0? \0? \0? \0? \0? \0 \0? \0? \0w \0 \0l \0? \0? \0? \0? \0x \0l \0? \0? \0? \0? \0? \0 \0l \0? \0| \0 \0| \0? \0? \0? \0? \0? \0? \0? \0? \0 \0? \0? \0? \0? \0? \0? \0? \0? \0x \0? + \0\0GQ\0?+\0?m\\n @]4d \04 \04 \0: ; \0w \0l \0? \0? \0|\0 \0? \0? \0l \0? \0? \0? \0? \0? \0? \0 7 \0 \0? \0l \0? \0! \0J \0V & \0 \0! \0? \0? \0? \0? \0? & \0 \0 \0? \0l \0? \0| \0? 8 \0 \0? \0? \0l \0? \0 \0? \0? \0? \0? \0? \0 \0? \0? \0? \0? \0? \0l \0? \0? \0? \0? \0 \0l \0? \0| \0 \0l \0? \0l \0? \0? \0? \0? \0x \0 \0x \0l \0? \0l \0w \0? \0? \0? \0? \0? \0? \0? \0 \0? \0? \0l \0 \0 \0J \0& \0? + \0\0\0\0\0m\0?\0?\0?\0?\0?\0?\0? (+46@Z]dmu?\0\0\0\0Z\0\0 \0\0\0?\0?\0\0 \0\0\0?\0\0 \0\0\0?\0\0 \0\0*\0\\\0\0 \0\0\0?\0\0 \0\0F\0\0\0 \0\0\0\0\0K\0a\0n\0i\0t\0-\0L\0i\0g\0h\0t\0V\0e\0r\0s\0i\0o\0n\0 \02\0.\00\00\00\0;\0 \0t\0t\0f\0a\0u\0t\0o\0h\0i\0n\0t\0 \0(\0v\01\0.\08\0.\03\0 \0h\0t\0t\0p\0s\0:\0/\0/\0g\0i\0t\0h\0u\0b\0.\0c\0o\0m\0/\0c\0a\0d\0s\0o\0n\0d\0e\0m\0a\0k\0/\0k\0a\0n\0i\0t\0 ,? +-? M (Z2Wf,qz-](\'[ O?`i?UHB|Vw?I \0\0F\0\0??\0 \0/@,\0\0g\0\0_\0\0\0(M\0_ M M ?\0 \0\0+@(\0\0g\0\0_\0\0\0(M ?\0\0\03@0L\0\0g\0\0_\0\0\0(M @% \0L\0\0(M U??\"TZ??3>1#??\0\0\02\0\0\0??\0\0 \0XK?$PX@\0_\0\0\0*M\0_\0+M ;(I?6\"\"%SV??3?0\Z!??1<5#\Z??\0\0\0F\0\0??\0\0Q@ \0LK?PX@\0\0a\0\0+M  ?\0\0\0q@\0\ZLK?PX@\0\0a\0\0+Ma\0/M-N@!\0a\01Ma\0/M\0_\0\0\0+NY@\0\0\0\0$#+36632#\"\'2654&#\"FF!O5drre]A?PKFS \07@4\0L\0a\01M\0\0a\0\0/\0N\0\Z\0((+\"&\'532654&&\'.54632&#\"?.S\"K%?6;. \0\0??\0 \0&@# \0L\0\0+M ;(AV,T ]6kk7-+VZ?-@15%:4F_T7E&&+\"?AA\0\02??l?\0 \0,\06\0K@H10\0L\0?\0a\0.M\0a\0\0/\0N.-\0-6.6(& \0  +\"&5467&&546326553\'6654&#\"267\'dxTI\'6SLJR:6?AZ2P#pM/0 ?5 Adobe UCS ??? ? \0K?HRX??Y?\0\0\0cp?\0B?-\0*?\0B? *?\0B?**?\0B?@?? *?\0 B?@@ *?dD?$?QX?@?X?dD?&?QX??\0@?cTX?dDYYYY?\" *??????\0D\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?\0\0\0\0\0\0\0 \0 \0v\01\0.\01\0 \0c\0 \0c\0 ,? +-? \0G\0\0\0\0^\0X\0\"H#I#!!\Z+##32#3254&##G|\\?txNL?k????JF?+???dWI]??qy9@\0\0\06???\0\'\04@1\0\0G\0X\0*H\0\0\0X+I\0\0\0\'\0&#,$+&\'732654&&\'.54632&#\"#?p/ TvDZ*?8CQ9?dxY P_=N*>7CR:>qJ D<B9#0(I9Zb?B::7\". \0!\0,\03@0(\'!\0\0G\0X\0-H\0X\0\0+\0I#%$ 3_Q?P8eVJ[2T5%p?VM?w(!\"I09_L  (II73C,\'x @{Va?B(!??4? yjka??\0\0\0/???(\0\01@. \0 G\0\0X\0\0\0-H\0X.I\0\0\0\0\Z$%&+&&546632&&#\"3267#?t9;xY1Z!H&T]WO1L\"\"\"c<M?ON?N!?\Zwabv \0,\08\0F\0V@S\0\" \0G \0\0\0`\0%H\0X\0-H\0Y\0#H\0X\0/I--CA<9-8-731,+*(%6& +\'#\"\'332#\"&5467&5467&&5466323654&#\"3+32665&u,X@! $?IQN?Tna*,<&,$&,Y@4+??;:32::2?T? %&?;<b8? -80Q1!F;9_6O< \0\"\05@2 \0G\0%HX-H\0\0#\0I\0\0\0\"\0!\"## +\0#4&#\"#4&#\"#363263??Y%-#H-Y%-\"H-YE `U7@dW(\\X??l?6## ??l?6\"#?d8J(&N\0\0\0^\0\0(\0\0.@+ \0G\0%H\0X-H\0\0#\0I\0\0\0\0#+\0#4&#\"#363?CY(1%L-YE a[(]W??l?6\"#?d8J\0\0\0/??0(\0\0\0,@ 2D?\\????\\R F<P!?P?\0\0+\0\0?\0 \0/@,\0G\0V\0%H\0V\0\0\0#\0I\0\0\0 \0 +%!5!5!??Y5?????CC/?C3?`\0\0O??\0??\0 \0\0*@\'\0\0\0`\0X+I \0\0  \0 \0 $+&54632#&54632#s$$$#\Z$$$#\Z?$$$$?w$$$$\0\0+?b\0?\0n\0 \0? -+654\'7+=Z >6u Adobe UCS \0\" \0? ? \0? + @ Z \0? ] Q \0? @ @ + d  Q \0\" \0? m \0? Q ? Q \0 @ d m \0J \0? \0l \0? \0? \0? \0? \0? \0? \0 \0? \0? \0? \0? \0? \0| \0 \0? \0? \0? \0? \0? \0| \0? \0 \0Q \0 \02 \0? & \0 \0x \0? \0? \0? \0? \0? \0 \0? \0? \0w \0? \0l \0? \0? \0? \0? & \0 \0? \0? \0? \0? \0? \0? \0? \0 \0? \0? \0? \0? \0? & \0 \0l \0? \0| \0 \0? \0? \0? \0? \0? \0? \0? \0? \0 \0| \0? \0x \0? \0? \0? \0? \0? \0l \0? \0? \0? \0? 9 \0? \0? \0? \0? \0? \0 \0? \0? \0? \0? \0| \0 \0| \0? \0? \0? \0? \0? \0? \0? \0? \0? \0? \0 \0l \0? \0| \0 \0? \0? \0| \0? \0x \0? \0 \0? \0? \0? \0? \0l \0? \0? \0? + \0 \0? \0G d \0 \0? \0? \0? \0? \0? \0 \0? \0? \0? \0 \0? \0? \0? \0? \0? \0? \0? \0 \0x \0? \0? \0? \0? \0? \0? \0x \0l \0? \0? \0 7 \0M \0 \0Q \0V & \0 \0? \0? \0w \0? \0? \0? \0? \0? &\0 \0? \0M \0J \0 8 + \0 \0 \0? \0? \0? \0 \0? \0? \0 \0? \0? \0? \0? \0?', '2026-04-15 09:32:34'),
(7, 2, 'e64704c8a46a2a798c8b566a3ed73c44', 'AI_SUMLANG.docx', '05d5ff94eba82b28c920ce4133a1a0bf.docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 124454, 'Author PLT THESIS-INTRO - SUMLANG 02(1)_5000words Turnitin Turnitin Document Details 23 Pages 4,959 Words 35,917 Characters Submission ID trn:oid:::20755:525741648 Submission Date Mar 16, 2026, 4:59 PM GMT+5 Download Date Mar 16, 2026, 5:00 PM GMT+5 File Name THESIS-INTRO - SUMLANG 02(1)_5000words.docx File Size 58.3 KB 0 % detected as AI The percentage indicates the combined amount of likely AI-generated text as well as likely AI-generated text that was also likely AI-paraphrased. Caution: Review required. It is essential to understand the limitations of AI detection before making decisions about a student’s work. We encourage you to learn more about Turnitin’s AI detection capabilities before using the tool. 0 % detected as AI The percentage indicates the combined amount of likely AI-generated text as well as likely AI-generated text that was also likely AI-paraphrased. Caution: Review required. It is essential to understand the limitations of AI detection before making decisions about a student’s work. We encourage you to learn more about Turnitin’s AI detection capabilities before using the tool. Detection Groups 0 AI-generated only 0% Likely AI-generated text from a large-language model. 0 AI-generated text that was AI-paraphrased 0% Likely AI-generated text that was likely revised using an AI-paraphrase tool or word spinner. Disclaimer Our AI writing assessment is designed to help educators identify text that might be prepared by a generative AI tool. Our AI writing assessment may not always be accurate (it may misidentify writing that is likely AI generated as AI generated and AI paraphrased or likely AI generated and AI paraphrased writing as only AI generated) so it should not be used as the sole basis for adverse actions against a student. It takes further scrutiny and human judgment in conjunction with an organization\'s application of its specific academic policies to determine whether any academic misconduct has occurred. Frequently Asked Questions 553720018834How should I interpret Turnitin\'s AI writing percentage and false positives? The percentage shown in the AI writing report is the amount of qualifying text within the submission that Turnitin’s AI writing detection model determines was either likely AI-generated text from a large-language model or likely AI-generated text that was likely revised using an AI paraphrase tool or word spinner. False positives (incorrectly flagging human-written text as AI-generated) are a possibility in AI models. AI detection scores under 20%, which we do not surface in new reports, have a higher likelihood of false positives. To reduce the likelihood of misinterpretation, no score or highlights are attributed and are indicated with an asterisk in the report (*%). The AI writing percentage should not be the sole basis to determine whether misconduct has occurred. The reviewer/instructor should use the percentage as a means to start a formative conversation with their student and/or use it to examine the submitted assignment in accordance with their school\'s policies. What does \'qualifying text\' mean? Our model only processes qualifying text in the form of long-form writing. Long-form writing means individual sentences contained in paragraphs that make up a longer piece of written work, such as an essay, a dissertation, or an article, etc. Qualifying text that has been determined to be likely AI-generated will be highlighted in cyan in the submission, and likely AI-generated and then likely AI-paraphrased will be highlighted purple. Non-qualifying text, such as bullet points, annotated bibliographies, etc., will not be processed and can create disparity between the submission highlights and the percentage shown. INTRODUCTION Tourism is one of the most dynamic and competitive industries globally. According to the World Tourism Organization (2017), it ranks as the third largest export sector worldwide, after fuels and chemicals, and serves as a primary source of foreign exchange for many developing nations. Beyond economic contributions, tourism drives employment, infrastructure development, regional growth, and export diversification. Globalization and technological advancement have intensified competition among destinations. Countries now compete not only on natural and cultural attractions but also on service quality, innovation, sustainability, and overall visitor experience. This shift has placed destination competitiveness at the forefront of strategic tourism planning. Competitiveness is a widely discussed research theme across academic fields. While Michael Porter\'s work on competitive advantage serves as a foundational reference for studies on tourist destination competitiveness, Smith, in the late 1970s, helped establish competitiveness as a distinct field of scientific inquiry. Because tourism is fundamentally service-driven, researchers have adapted existing terminologies, developed new conceptual models, and identified specific elements that drive success in the tourism sector. Competitiveness is now widely regarded as essential for a destination\'s success and long-term prosperity (Go &amp; Govers, 2000; Gooroochurn &amp; Sugiyarto, 2005; Mazanec et al., 2007). It is therefore crucial for destinations to be aware of the strategic actions required to become more competitive than others vying for the same pool of visitors. In tourism, destination competitiveness refers to a place\'s capacity to attract and satisfy visitors while maintaining its environmental, social, and economic sustainability for future generations. Studies over the past three decades confirm that competitiveness determines a destination\'s long-term survival and prosperity (Go &amp; Govers, 2000; Gooroochurn &amp; Sugiyarto, 2005; Mazanec et al., 2007). As global tourism expands, so do environmental pressures. Unmanaged activities such as transportation, accommodation development, and visitor congestion can negatively affect fragile ecosystems. In response, sustai', '2026-04-15 09:33:20'),
(8, 1, '768fbd7e5ba3f1f567e242c3f5f5f6be', 'Module1_EventDriven_Python.docx', '443f874c586cd7abee6c5e2036ebb588.docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 19824, 'PYTHON PROGRAMMING SERIES Module 1 Foundations of the Event-Driven Paradigm Understanding core concepts that distinguish event-driven programming from traditional procedural or linear scripts Topics Covered Activities Estimated Time 1.1 Introduction to EDP Paradigm sort, real-world analogies ~25 min 1.2 Core Components Trace event loop, write callbacks ~30 min 1.3 Practical Application Console REPL, digital clock lab ~45 min Review &amp; Assessment Knowledge check, challenge problems ~20 min 1.1 Introduction to Event-Driven Programming What Is Event-Driven Programming? Event-driven programming (EDP) is a paradigm in which execution is controlled by external events — user actions, sensor signals, messages, or system notifications — rather than a fixed top-to-bottom sequence. Key Definition An event-driven program waits idle (or performs background work) until an event occurs. It then dispatches that event to the appropriate handler, executes it, and returns to waiting. Characteristics of Event-Driven Systems Asynchronous execution: code does not run in a strict top-to-bottom order. Decoupling: event producers (sources) are separate from event consumers (handlers). Responsiveness: the system reacts instantly when an event fires. Non-blocking: waiting for one event does not freeze other parts of the program. Scalability: many event types can be handled independently and concurrently. Comparison: Procedural vs. Event-Driven Procedural / Linear Event-Driven Instructions execute top-to-bottom Execution is driven by incoming events Control flow set by the programmer Control flow set by the user or system Program finishes and exits Program loops, listening continuously Easy to trace step-by-step Requires understanding callbacks &amp; state Good for scripts and data pipelines Good for GUIs, games, servers, IoT Example: monthly payroll calculator Example: chat app responding to messages Real-World Analogies Recognise event-driven systems in everyday life before writing code: Analogy Event Handler / Response Smartphone User taps the screen Open the tapped app Traffic light Timer or sensor fires Change light colour Fire alarm Smoke detector triggers Sound siren, unlock exits Customer service Phone rings Agent picks up and responds Email inbox New message arrives Show notification + badge Discussion Prompt 💬 Think of three more real-world event-driven systems you interact with daily. For each one identify: (a) the event source, (b) the event, and (c) the handler. Share and discuss your examples with a partner before moving on. 🧪 Activity 1.1A — Paradigm Sort Time: 10 minutes | Type: Individual or pair Instructions: Read each scenario. Label it Procedural (P) or Event-Driven (E). Write one sentence explaining your choice. Scenarios: 1. [ ___ ] A script reads a CSV file, calculates totals, and writes results to a new file. 2. [ ___ ] A web server waits for HTTP requests and responds to each one independently. 3. [ ___ ] A program reads student grades from top to bottom and prints each grade. 4. [ ___ ] A game character moves left whenever the player presses the left arrow key. 5. [ ___ ] A temperature logger records sensor readings every 5 minutes automatically. 6. [ ___ ] A button in a mobile app shows a menu when tapped by the user. Answer Key: P, E, P, E, P, E 1.2 Core Components of Event-Driven Systems Events An event is any occurrence the program can detect and respond to. Events fall into five categories: User input: keyboard presses, mouse clicks, touch gestures, form submissions. System: timer expirations, file-system changes, OS signals, memory alerts. Network: incoming socket data, HTTP responses, WebSocket messages. Hardware/sensor: GPIO pin changes, temperature thresholds, motion detection. Application: custom events raised by your own code (e.g., &apos;orderPlaced&apos;). The Event Loop The event loop is the central dispatcher. It continuously polls for new events and routes each one to its registered handler. A simplified pseudo-loop: # Simplified Event Loop (pseudo-code) event_queue = [] while True: # 1. Loop forever if event_queue: # 2. Are there pending events? event = event_queue.pop(0) # 3. Dequeue the next event handler = registry[event] # 4. Look up the registered handler handler(event) # 5. Execute it else: wait_for_event() # 6. Sleep until something arrives Python&apos;s asyncio Event Loop asyncio.get_event_loop().run_forever() enters the loop. Coroutines (async def) are tasks scheduled on the loop. I/O events (sockets, files) use OS-level selectors under the hood. You will explore asyncio in depth in Module 4. Callbacks and Handlers A callback (also called a handler) is a function registered to execute when a specific event fires. # Basic callback pattern def on_key_press(key): &quot;&quot;&quot;Handler: called whenever a key-press event fires.&quot;&quot;&quot; print(f&quot;Key pressed: {key}&quot;) # Register with an imaginary event system: event_system.on(&apos;key_press&apos;, on_key_press) # When user presses &apos;a&apos;, the system calls: # on_key_press(&apos;a&apos;) --&gt; Key pressed: a Three Ways to Define Callbacks in Python Named function: def on_click(event): ... — most readable; use for complex logic. Lambda: event_sys.on(&apos;click&apos;, lambda e: print(e)) — for simple one-liners. Method: event_sys.on(&apos;click&apos;, self.handle_click) — for object-oriented designs. 🧪 Activity 1.2A — Trace the Event Loop Time: 15 minutes | Type: Individual, then group review Read the code below. For each label (A–H) write what happens at that step. import time handlers = {} # (A) handler registry def register(event_name, fn): # (B) handlers[event_name] = fn def dispatch(event_name, data=None): # (C) if event_name in handlers: handlers[event_name](data) def on_tick(data): # (D) print(f&quot;Tick! Data: {data}&quot;) register(&apos;tick&apos;, on_tick) # (E) for i in range(5): # (F) dispatch(&apos;tick&apos;, data=i) # (G) time.sleep(1) # (H) # What happens at this step? (wr', '2026-04-16 03:07:40'),
(9, 1, '768fbd7e5ba3f1f567e242c3f5f5f6be', 'Modern-Computer-Parts-and-Hardware-An-Introductory-Guide.pdf', '295ad564942544d6a69bfeba7844de7b.pdf', 'application/pdf', 1584651, 'b @ \0? \0? ] 6 Q \0 @ 4 Z u m \0? ] Q \0? \0? ] m d Q ? Q \0B \0? ] \0? ? \0? ] \0? Q : Q \0 6 Q \0G 6 m ] @ \0? u \0? m @ ] ? Q \0; u  \0? \0? \0\0\0?\0?\0l\0x\0?\0?\0x\0l\0?&\0\0?\0?\0?\0?\0l\0?\0\0?\0l\0?\0?\0?\0?\0?\0?\0?\0?\0?\0\0?\0?\0?\0\0?\0?\0x\0?;\0x\0?\0?\0?\0?\0?\0?\0\0x\0?\0?\0?\0?\0?\0?\0?\0?\0\0l\0?\0|\0\0?\0?\0?\0?\0?;\0?\0?\0?\0?\0?\0\0J\0 \0 \0w\0?\0?\0?\0|\0?\0?\0?+\0\0V\0?\0?\0?\0\0|\0?\0x\0?\0\0?\0?\0?\0?\0l\0?\0?\0?\0\0x\0?\0?\0?\0\0x\0?\0?\0?\0?\0?\0?\0?\0?\0?&\0\0?\0?\0?\0\0?\0?\0?\0?\0\0?\0?\0?\0?\0?\0l\0x\0?&\0\0?\0?\0|\0?\0?\0?\0\0?\0?\0?\0?\0|\0? \0 78&\0\0l\0?\0|\0\0l\0x\0?\0?\0?\0?\0l\0w\0?\0?\0\0?\0?\0?\0?\0\0?\0?\0?\0\0w\0l\0?\0l\0?\0x\0?\0|\0\0?\0?\0?\0?\0?\0?\0\0w\0?\0?\0?\0|\0?+\0\0Q\0?\0?\0|\0?\0?\0\0?\0?\0?\0?\0l\0?\0?\0?\0|\0\0?\0?\0?\0% \0 \0?\0?\0?\0?\0?\0?\0?\0l\0?\0?\0?\0?+ \0B @ ? Q \0? Q \0? \0 Q \0? @ ] \\( d Q : Q \0? ? d m \0? 4 Q \0m ? \0? ] ?  \0? ? \0\0?\0\0l\0\0?\0?\0?\0?\0\0?\0?\0?\0?\0?%\0\0?\0?\0?\0\0\0J\0Y\0\0?\0?\0?\0x\0?\0?\0?\0?\0\0?\0?\0?\0?\0?\0?\0x\0?\0?\0?\0?\0?&\0\0?\0?\0?\0\0!\0J\0Y\0\0?\0?\0?\0|\0?\0?\0?\0\0?\0?\0?\0?\0l\0?\0?\0\0l\0?\0| \0 \0l\0x\0x\0?\0?\0?\0?\0l\0?\0?\0?\0\0?\0l\0?\0l\0?\0?\0?\0?\0\0?\0?\0?\0?\0?\0?\0l\0|\0?&\0\0M\0\0:\0\0?\0?\0?\0|\0?\0\0l\0x\0?\0?\0?\0?\0\0|\0l\0?\0l&\0\0?\0?\0?\0?\0l\0?\0?\0\0?\0?\0?\0?\0?\0?\0?\0?\0?\0\0?\0?\0?\0?\0?&\0\0?\0?\0? \0 \0?\0?\0?\0?\0?\0?\0w\0?\0l\0?\0|\0\0x\0?\0?\0?\0?\0x\0?\0?\0\0l\0?\0|\0\0x\0?\0?\0?\0|\0?\0?\0l\0?\0?\0?\0\0x\0?\0?\0?\0?\0?\0?\0?\0?\0?&\0\0?\0?\0?\0\0J\0Q\0Y\0\0?\0?\0?\0?\0?\0?\0?\0?\0\0?\0?\0?\0?\0?&\0\0l\0?\0| \0 \0x\0?\0?\0?\0?\0?\0?\0\0?\0l\0?\0?\0?\0l\0?\0?\0?\0\0?\0l\0?\0?\0\0?\0?\0?\0?\0?\0?\0l\0?\0?\0?\0?\0?+\0\0J\0?\0?\0?\0?\0?\0?\0l\0?\0x\0?\0\0|\0?\0?\0?\0?\0|\0?\0\0?\0?\0\0x\0?\0?\0?\0?\0?\0?\0?\0?\0\0w\0l\0?\0l\0?\0x\0? \0 \0l\0?\0|\0\0?\0?\0?\0?\0?\0?\0l\0x\0?\0\0w\0l\0?\0|\0?\0?\0|\0?\0?\07\0?+\0?+&\0\0J\0\0&\0?\0\0?\0l\0?\0?\0?&\0\0?\0?\0?\0?\0?\0?\0\0x\0?\0l\0?\0?\0?\0?\0?8+ \0 \0? \0? \0J\0?\0?\0x\0?\0?\0?\0?\0?\0\0?\0?\0l\0?\0\0?\0?\0?\0?\0\0?\0?\0?\0?\0?\0l\0?\0?\0\0l\0?\0|\0\0?\0l\0?\0l\0?\0?\0?\0\0?\0?\0?\0?\0?\0?\0\0?\0l\0?\0?\0?+ \0; \0? \0? \0$\0l\0?\0|\0?\0?\0?\0\0?\0?\0l\0?\0?\0?\0x\0?&\0\0?\0?\0?\0|\0?\0?\0?\0?\0?&\0\0l\0?\0|\0\0?\0l\0?\0?\0\0\0& 1 \0x\0?\0?\0?\0?\0?\0?\0\0?\0?\0?\0?\0?\0?\0l\0|\0?+ \0? \0 \0b \0Q\0?\0?\0?\0?;\0?\0?\0?\0?\0\0?\0?\0?\0?\0?\0?\0\0?\0?\0?\0\0l\0x\0?\0?\0?\0?\0\0?\0?\0?\0?\0?\0l\0?\0?\0\0l\0?\0|\0\0|\0l\0?\0l+ \0? m @ ] \0?  \0? \04\0?\0?\0?;\0?\0?\0?\0?\0\0?\0?\0?\0?\0l\0?\0?%\0\0$\0\0\0?\0\0?\0?\0?\0\0x\0l\0?\0l\0x\0?\0?\0?&\0\0;\0b\0:\0?\0\0Q\0Q\0\0?\0\0?\0?\0?\0\0?\0?\0?\0?\0|+ \0 \0? \0? Q \0: u 6 \0? \0? 4 \0? 6 m \0? + d Q ? Q \0B ? \0? ]  \0? Q \0 ] \0?   m \0? \0? m u ] \0? d \0\0J\0Y\0?\0\0l\0?\0?\0\0?\0?\0?\0\0?\0?\0?\0?\0?\0?/\0?\0\0w\0?\0l\0?\0?9\0?\0?\0?\0x\0?\0?\0?\0?\0?\0\0?\0?\0?\0?\0?\0?\0x\0?\0?\0?\0?\0?&\0\0?\0l\0?\0l\0?\0?\0?\0?\0\0@\0Q\0\0?\0l\0?\0?\0?&\0\0l\0?\0| \0 \0x\0?\0?\0?\0|\0?\0?\0l\0?\0?\0?\0?\0\0?\0l\0?\0|\0?\0l\0?\0?+\0\0:\0?\0|\0?\0?\0?\0\0?\\n\0\0\0J\0Y\0?\0\0?\0?\0?\0\0?\0?\0w\0?\0?\0|\0\0l\0?\0x\0?\0?\0?\0?\0x\0?\0?\0?\0?\0?%\0\0J\0?\0?\0?\0?\0?\0?\0l\0?\0x\0? \0 \0x\0?\0?\0?\0?\07\0J;\0x\0?\0?\0?\0?8\0\0?\0?\0?\0\0?\0?\0l\0?\0?&\0\0?\0l\0?\0?\0?\0x\0?;\0?\0?\0?\0?\0?\0?\0?\0?\0?\0\0?\0?\0?\0?\07\0?\0l\0?\0?\0?\0?&\0\0?\0?\0?\0?\0?\0?;\0?\0?\0?\0?\0l\0|\0?\0|\0\0l\0?\0?\0?& \0 \0?\0?\0?\0|\0?\0?\0?\0?\0?8&\0\0l\0?\0|\0\0\0?\0?\0?\0x\0?\0?\0?\0x\0?\0\0x\0?\0?\0?\0?\07\0;\0x\0?\0?\0?\0?8\0\0?\0?\0?\0\0w\0l\0x\0?\0?\0?\0?\0?\0?\0|\0\0?\0l\0?\0?\0?\0\0l\0?\0|\0\0?\0?\0?\0?\0?\0\0?\0l\0?\0?\0?\0?\0?+ \0 \02\0?\0?\0\0?\0?\0?\0x\0?\0\0?\0?\0\0x\0?\0?\0?\0l\0?\0?%\0\0x\0?\0?\0?\0\0x\0?\0?\0?\0?&\0\0?\0?\0?\0?\0l\0|\0\0x\0?\0?\0?\0?&\0\0w\0l\0?\0? 1 \0w\0?\0?\0?\0?\0\0x\0?\0?\0x\0?\0\0?\0?\0?\0?\0|\0?&\0\0x\0l\0x\0?\0? \0 \0?\0?\0?\0?&\0\0V\0\0J&\0\0l\0?\0|\0\0?\0?\0x\0?\0?\0?\0\0x\0?\0?\0?\0l\0?\0?\0w\0?\0?\0?\0?\0?+ \0? 7 \0 @ ] \0? d \0$\0?\0?\0?\0\0?\0?\0?\0?\0?\0?;\0?\0?\0?\0?\0l\0|\0\0?\0?\0?\0?\0?\0?\0?\0l\0?\0x\0?& \0 \0?\0?\0?\0w\0?\0\0w\0?\0?\0?\0?\0\0x\0l\0?\0l\0w\0?\0?9\0?\0|\0?\0l\0?\0\0?\0?\0? \0 \0|\0?\0?\0l\0?\0|\0?\0?\0?\0\0l\0?\0?\0?\0\0l\0?\0|\0\0?\0?\0?;\0?\0l\0?\0?\0?\0x\0? \0 \0?\0?\0?\0?+ \0\\( 7 \0 @ ] \0? d \04\0?\0?;\0?\0?\0?\0?\0?\0\0x\0?\0?\0?\0?\0\0?\0?\0?\0\0?\0?\0?\0?\0?\0?\0l\0?\0?\0?\0?\0?& \0 \0w\0l\0x\0?\0?\0?\0?\0?\0?\0|\0\0?\0?\0?\0?\0?\0x\0?\0?&\0\0l\0?\0|\0\0?\0?\0?\0?\0?\0?\0?\0?\0? \0 \0?\0?\0?\0?\0x\0?\0?\0?\0x\0?+ \0m ? \0? ] \0? + @ \0? \\(  6   Q \0?  ?  Q \0B @ ?  Q \0? 6 \0? Q \0? \0? \\n \0? m ? \0@\0?\0?\0?\0x\0?\0?\0x\0?\0?\0?\0?\0\0?\0?\0x\0?\0?\0l\0?\0?\0?\0\0x\0?\0?\0x\0?\0\0?\0l\0?\0?\0?\0\0?\0?\0?\0\0\0J\0Y&\0\0!\0J\0Y&\0\0?\0?\0\0M\0\0:\0\0w\0?\0?\0?\0?\0|\0\0?\0l\0x\0?\0?\0?\0?\0\0?\0?\0?\0?\0?\0?\0?\0? \0 \0?\0?\0\0?\0l\0?\0?\0\0?\0?\0?\0?\0?\0?\0\0 \0J\0Q&\0\0?\0l\0?\0?\0?\0?\0\0?\0?\0?\0|\0?\0?\0?&\0\0l\0?\0|\0\0w\0?\0?\0?\0?\0?\0\0w\0?\0?\0x\0?\0?\0l\0?\0?\0\0?\0x\0?\0?\0?\0?+\0\0&\0?\0\0?\0?\0?\0?\0?\0?\0?\0? \0 \0?\0?\0?\0?\0?\0?\0?\0?\0?\0?\0\0?\0l\0?\0|\0?\0l\0?\0?\07\0?\0?\0l\0?\0?\0?\0?\0\0b\0M\0:\0?&\0\0h;\0?\0?\0?\0?\0?\0?\0\0&\0?\0?\0?\0?\0\0?\0?\0\0d;\0?\0?\0?\0?\0?\0?\0\0\0:\0\0\0?\0?\0?\0?\0?\0?\0w\0?\0l\0?\0|\0?8& \0 \0?\0?\0w\0?\0?\0?\0\0x\0?\0?\0?\0?\0?\0?\07\0?\0?\0?\0?;\0?\0?\0|\0\0l\0?\0?\0\0?\0?\0\0\0&\0@ 1 \0x\0?\0?\0?\0?\0?\0\0?\0?\0?\0?\0?8&\0\0l\0?\0|\0\0l\0\0?\0?\0?\0?\0l\0w\0?\0?\0\0J\0Q\0Y+\0\0M\0?\0?\0?\0?\0\0?\0?\0x\0?\0?\0|\0? \0 \0?\0?\0?\0?\0?\0?\0\0?\0?\0?\0?\0?\0?\0l\0?\0?\0?\0?\0?&\0\0?\0?\0?\0?\0l\0w\0?\0?\0?\0?\0?&\0\0?\0?\0?\0?\0?\0?\0?\0l\0?\0\0?\0l\0?\0|\0?\0l\0?\0?\0\0?\0?\0?\0?\0?\0?\0l\0?\0\0?\0?\0|\0?\0x\0?\0?\0?\0?&\0\0l\0?\0| \0 \0?\0?\0x\0?\0?\0l\0?\0?\0|\0\0?\0?\0?\0?\0?\0\0|\0?\0l\0?+\0\0\0?\0?\0l\0?\0?\0\0?\0?\0?\0?\0\0?\0?\0l\0w\0?\0?\0?\0?\0?\0\0l\0?\0|\0\0?\0?\0?\0?\0?\0?\0?\0\0?\0?\0?\0?\0?0\0\0?\0?\0x\0?\0?\0l\0?\0?\0\0x\0?\0?\0x\0?\0? \0 \0l\0?\0|\0\0?\0?\0?\0?\0l\0?\0?\0\0?\0?\0x\0?\0?\0?\0?\0?\0?\0l\0?\0?\0?+ ?? \0? ] \0? Z \0? ] \0? m  @ 6 \0Y\0?\0|\0l\0?\0?\0\0\0&\0@\0Q&\0\0?\0?\0?\0?\0?\0?\0\0?\0?\0?\0|\0\0x\0?\0?\0?\0?\0?\0?&\0\0l\0?\0| \0 \0w\0l\0x\0?\0\0?\0?\0\0|\0l\0?\0l+ ?? \0G 6 \0? ] \0? 4 \0? 6 m \0? + Q \0? u 6  6  \0M\0l\0?\0?\0?\0\0x\0?\0?\0x\0?\0?\0\0?\0?\0?\0?\0?\0?\0?\0?&\0\0?\0?\0?\0?\0\0?\0?\0?\0?\0\0?\0?\0?\0?\0?\0? \0 \0?\0?\0?\0?\0?&\0\0?\0?\0?\0?\0?\0?\0?\0\0?\0?\0?\0?\0?\0l\0?\0?+ ?? \0? \0? +  \0? \0? m  @ 6 \0M\0?\0?\0\0?\0?\0?\0?\0\0?\0?\0?\0?\0?\0?\0\0?\0?\0?\0?\0?&\0\0x\0?\0?\0x\0?\0\0?\0?\0l\0w\0?\0?\0?\0?\0?\0\0l\0?\0|\0\0?\0?\0?\0?\0l\0?\0?\0\0w\0?\0?\0l\0?\0?\0?\0?+ \0; \0? \0?  Q \0? \0? 6 \0? \0? ]  6   Q \0 @ 4 Z u m \0?  Q \0? 6 \0? Q \0b @ \0? \0? ] 6 Q \0: \0? \0? m u ] \0? d \0V\0?\0?\0\0!\0J\0Y\0\0l\0x\0x\0?\0?\0?\0?\0l\0?\0?\0?\0\0?\0?\0l\0?\0?\0?\0x\0?\0\0l\0?\0|\0\0?\0l\0?\0l\0?\0?\0?\0?\0\0x\0?\0?\0?\0?\0?\0?9\0x\0?\0?\0x\0?\0l\0?\0\0?\0?\0?\0\0?\0l\0?\0?\0?\0?&\0\0?\0?\0|\0?\0?\0\0?\0|\0?\0?\0?\0?\0?&\0\0\0\0&\0\0l\0?\0|\0\0?\0l\0?\0?\0\0 \0&\0\0?\0l\0?\0?\0?+\0\0V\0?\0?\0?\0?\0\0?\0?\0x\0?\0?\0|\0?\0\0?\0?\0?\0?\0?\0?\0l\0?\0?\0|\0\0!\0J\0Y\0? \0 7\0?\0!\0J\0Y8\0\0?\0?\0?\0\0?\0?\0?;\0?\0?\0?\0?\0?\0\0l\0?\0|\0\0w\0l\0?\0?\0x\0\0?\0?\0l\0?\0?\0?\0x\0?&\0\0l\0?\0|\0\0|\0?\0?\0x\0?\0?\0?\0?\0\0!\0J\0Y\0?\07\0|\0!\0J\0Y8\0\0?\0?\0?\0?\0\0|\0?\0|\0?\0x\0l\0?\0?\0|\0\0b\0M\0\0:\0\0?\0?\0?\0\0?\0?\0?\0?;\0?\0?\0?\0?\0? \0?\0?\0l\0?\0x\0?\0\0?\0?\0?\0?\0?\0?\0l\0|\0?+\0\0:\0?\0|\0?\0?\0?\0\0!\0J\0Y \0 \0?\0?\0x\0?\0?\0?\0?\0?\0?\0?\0?\0?%\0\0?\0l\0?\0|\0?\0l\0?\0?\0\0?\0l\0?\0\0?\0?\0l\0x\0?\0?\0?\0\0?\0?\0?\0\0?\0?\0l\0?\0?\0?\0?\0?\0x\0\0?\0?\0?\0?\0?\0?\0?\0?&\0\0?\0?\0?\0?\0?\0? 1 \0\0&\0\0x\0?\0?\0?\0?\0\0?\0?\0?\0\0?\0?\0?\0?\0?\0?\0?\0x\0?\0\0l\0?\0|\0\0?\0?\0l\0?\0?;\0? \0?\0?\0?\0?\0l\0?\0?\0?\0?\07\0\04\0Q\0Q 1 \0\0&\0\0?\0?\0l\0?\0?\0\0?\0?\0?8&\0\0\0b\0\0?\0l\0?\0|\0?\0l\0?\0?\0 \0?\0?\0x\0?\0|\0?\0?\0?\0\0?\0?\0?\0\0?\0?\0?\0?\0x\0?\0?\0?\0?\0\0?\0?\0|\0?\0?&\0\0l\0?\0|\0\0?\0?\0?\0?;\0?\0?\0?\0\0?\0?\0?\0?\0?\0?\0\0?\0?\0?\0?\0\0!\0\0\0M 1 \0!\0\0\0M +\0\0\0?\0?\0?\0?\0?\0\0!\0J\0Y\0\0w\0l\0?\0?\0|\0\0?\0?\0\0?\0l\0?\0?\0?\0?\0\0?\0?\0?\0?\0? \0?\0?\0?\0?\0?&\0\0?\0?\0l\0?\0?\0\0?\0l\0?\0?&\0\0l\0?\0|\0\0x\0?\0?\0?\0?\0?\0? \0 \0?\0?\0?\0|\0?+ \0G 6 m \0?  ] \0? m \0? \0? Q \0; \0? \0? \0\0?\0?\0?', '2026-04-16 03:18:20'),
(10, 3, '32094c8cec6ea1a81bfd38e2dee1e9ba', 'CSCOFFICERS_2022-2026.docx', '459b9d55229c83f0865f764fa1aded49.docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 13874, '2022-2023 Lyka Izzabelle Dinoso Ashley Heart Valencia Mark Kian Oliquiano 2023-2024 Mark Kian Oliquiano Lyka Izzabelle Dinoso Ashley Heart Valencia Benjo Corido Jules Ariola Earl Osera Lucky Nogot 2024-2025 Benjo Corido Kurt Cuya Jose Luis Pena 2025-2026 Kurt Cuya Benjo Corido Lyka Dinoso', '2026-04-19 06:21:34'),
(11, 3, '32094c8cec6ea1a81bfd38e2dee1e9ba', 'CSCOFFICERS_2022-2026.docx', '65723275237b27c2c409470169eb0f9b.docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 13874, '2022-2023 Lyka Izzabelle Dinoso Ashley Heart Valencia Mark Kian Oliquiano 2023-2024 Mark Kian Oliquiano Lyka Izzabelle Dinoso Ashley Heart Valencia Benjo Corido Jules Ariola Earl Osera Lucky Nogot 2024-2025 Benjo Corido Kurt Cuya Jose Luis Pena 2025-2026 Kurt Cuya Benjo Corido Lyka Dinoso', '2026-04-19 06:22:08'),
(12, 1, '99750ce7b2358a19a34ad752adb7e927', 'OBC_MedStaff_Manual.docx', 'c39ec5c84bd3ae6d13a52e2a431628ce.docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 661977, 'Omni Bite Center Animal Bite Management System Medical Staff User Manual Vaccination Administration &amp; Clinical Records ───────────────────────────── Table of Contents 1. System Overview &amp; Login 2. Daily Queue (Dashboard) 3. Processing a Patient — Administering a Dose 4. Patient Search &amp; Lookup 5. Patient History Records 6. Vaccine Stock Monitoring 7. My Activity Report 8. Print Sheet &amp; Documents 9. Common Issues &amp; Tips Chapter 1: System Overview &amp; Login The Omni Bite Center System manages the entire lifecycle of animal bite patients — from registration by the Clerk to vaccination by the Medical Staff. As Medical Staff (Nurse/Vaccinator), you handle the clinical side: you confirm that patients are present, administer the correct vaccine dose, and record the outcome. 1.1 Your Role in the System View the daily vaccination queue Mark doses as administered for each patient visit Record the vaccine brand and batch number used Search for patients by name or case number View complete patient treatment history Monitor current vaccine stock levels 1.2 How to Log In Screenshot: Login Page — Enter your medstaff credentials Open the system URL in your browser. Enter your Username and Password. Click \"Login.\" You will be redirected to the Medical Staff Dashboard. TIP Your account is set to role: Nurse/Medstaff. You will only see clinical screens — not the patient registration forms used by Clerks. Chapter 2: Daily Queue (Dashboard) The Daily Queue is your main work screen. Every patient registered by the Clerk for today\'s vaccines will appear here automatically. Screenshot: Medical Staff Dashboard — Daily Queue table 2.1 Reading the Queue Table Column What It Means Patient Name Full name of the patient who needs a vaccine today Vaccine Type Which vaccine is due (Rabies, Tetanus, Anti-venom) Dose Day Day 0, Day 3, Day 7, or Day 28 of the treatment schedule Category Exposure category (I, II, or III) — determines treatment protocol Status Pending = not yet administered | Completed = done Action Button \"Administer Dose\" button — click when patient is ready Screenshot: Queue Table — Rows showing Pending and Completed statuses 2.2 Stats Summary Cards At the top of the dashboard, you will see summary cards showing: Total patients in queue today How many doses have been completed How many are still pending NOTE The queue refreshes automatically. You can also click the refresh button (circular arrow icon) in the header. Chapter 3: Administering a Dose When a patient arrives for their scheduled dose, follow these steps: IMPORTANT Verify the patient\'s identity (ask for their name and check their treatment card) before administering any vaccine! Step 1 — Find the Patient in the Queue Look at the Daily Queue table. Find the patient\'s name. Confirm it matches the person in front of you. Check the Dose Day column — make sure it matches today\'s schedule (e.g., Day 3). Screenshot: Queue — Finding a specific patient row to administer dose Step 2 — Fill in the Dose Details Field What to Enter Vaccine Brand Select from dropdown (e.g., Verorab, Speeda) Batch Number Enter from the vaccine vial label — required for traceability Route Intramuscular (IM) or Intradermal (ID) as ordered by physician Site of Injection Left deltoid, Right deltoid, etc. Administered By Your name (auto-filled from your login session) Chapter 4: Patient Search &amp; Lookup If you need to look up a patient who is not currently in the daily queue (e.g., a walk-in checking their schedule, or a past patient returning), use Patient Search. How to Search Click \"Patient Search\" in the left sidebar. Type the patient\'s last name, first name, or case number in the search bar. Results will appear below as you type. Click on a patient to view their full profile. Screenshot: Patient Search page — Search bar and results list NOTE You can search by partial name. For example, typing \"Cruz\" will show all patients with Cruz in their name. Chapter 5: Patient History Records Each patient has a complete treatment history that shows every dose administered, who administered it, and when. Viewing a Patient\'s History Find the patient via the Daily Queue or Patient Search. Click their name or the \"Full Record\" button. The patient profile will show their personal info, exposure details, and a full vaccination history table. Screenshot: Patient History — Full treatment record with all doses listed History Column Meaning Date Given When the dose was administered Dose Which dose number (Day 0, 3, 7, 28) Vaccine Brand and batch number used Administered By Staff who gave the dose Next Appointment Automatically computed next dose date Chapter 6: Vaccine Stock Monitoring Click \"Vaccine Stock\" in the sidebar to see what vaccines are currently available. Screenshot: Vaccine Stock page — Current inventory list Column What It Shows Action Required Vaccine Name Brand name of the vaccine — Stock Remaining Available vials/doses Report if below minimum Expiry Date Date vaccine expires Do not use expired vaccines! Status Active or Expired/Depleted Inform Admin if depleted IMPORTANT NEVER administer an expired vaccine. If the stock page shows an expired item still \"Active,\" report it to Admin immediately for correction. Chapter 7: My Activity Report Click \"My Activity\" in the sidebar to see a summary of doses you have administered in a given time period. Use this for: Verifying your daily or weekly workload Self-auditing your recorded administrations Screenshot: My Activity page — Personal dose administration log Chapter 8: Print Sheet &amp; Documents From a patient\'s record, you can print the treatment sheet for physical filing or for handing to the patient. This is the official OBC-CGL-001 form. Open the patient\'s record. Click the \"Print Sheet\" button. A print-ready version will open. Press Ctrl+P or Command+P to print. Screenshot: Print Sheet view — Formatted patient treatment document TIP Print the sheet after Day 0 (first visit) and give it to the patient. They ', '2026-04-23 05:51:25');
INSERT INTO `uploaded_docs` (`id`, `user_id`, `session_id`, `original_name`, `stored_name`, `mime_type`, `file_size`, `extracted_text`, `created_at`) VALUES
(13, 1, 'e248e42075651b407271af9201997997', 'METHODOLOGY.docx', '7967a3c4c29c7145c09929e08ecde3f9.docx', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 723344, 'METHODOLOGY This section describes the research design, the study’s participants, data sources, instruments, and data-gathering procedures. It also presents research methods and statistical analysis. Research Design This study utilizes a Developmental Research Design to engineer and deploy the SPACE (Smart Productivity and Academic Companion for Education) web application. Within this developmental framework, the researchers will employ a mixed-methods approach, gathering both quantitative and qualitative data to ensure a comprehensive evaluation of the system. This methodology is directly justified by the study\'s specific research questions and objectives. The quantitative aspect is utilized to fulfill Research Objective 4 and address Research Question 2. By deploying the System Usability Scale (SUS) to PLT College students and recording technical performance metrics, the researchers can generate objective, numerical data to evaluate the system\'s usability, efficiency, and reliability (such as data persistence via PHP and MySQL). On the other hand, the qualitative aspect is essential to answer Research Questions 1 and 3, which deal with subjective user experiences. Understanding how the Neumorphic UI successfully reduces cognitive load, or how the unified dashboard (Pomodoro, Task Manager, and Note-Taker) practically impacts student productivity, requires nuanced human feedback. Through open-ended survey responses and user observations, the researchers can capture the tactile, stress-reducing benefits that numbers alone cannot explain. Ultimately, this mixed-methods approach ensures SPACE is both technically robust and genuinely valuable to its users. System/Software Architecture The technical foundation of SPACE (Smart Productivity and Academic Companion for Education) relies on standard Three-Tier Architecture. This approach was chosen to maintain a clear separation between what the user sees (presentation layer), how the application processes information (business logic), and where the information is stored (data persistence). By structuring the system this way, SPACE can smoothly run its responsive Neumorphic interface while securely managing complex AI-assisted features in the background. To fully illustrate how these components interact, the system\'s design is documented using four key visual models: a System Architecture Diagram, a Data Flow Diagram (DFD), an Entity-Relationship Diagram (ERD), and a Use Case Diagram. 027876500 Figure 3 System Architecture right1605700 Figure 4 Data Flow Diagram Lvl.0 left21526500 Figure 5 Data Flow Diagram Lvl. 1 00 Figure 6 Entity Relationship Diagram right000 Figure 7 Use Case Diagram Module Description Key Technologies Task Management Module A central hub for tracking assignments and deadlines. Students can easily prioritize workloads, break big projects into manageable checklists, and visualize their schedule using interactive Kanban boards or calendar views, complete with alerts for overdue work. PHP, MySQL, JavaScript (Drag-Drop API), Tailwind CSS Note-Taker Module A built-in digital notebook that keeps lecture insights organized and secure. It offers a smooth writing experience with helpful features like auto-save, folder organization, quick search, version history, and the ability to export notes directly to PDF. PHP, MySQL, Quill.js (WYSIWYG), TCPDF Pomodoro Module A customizable focus timer designed to beat procrastination. It guides students through structured study and break cycles, complete with ambient background sounds (like rain or cafe noise), progress-tracking charts, and a \"Focus Mode\" to block out distractions. JavaScript, SVG, Chart.js, Web Push API, PHP, MySQL AI Assistant Module The \"smart\" study partner. Students simply upload their reading materials, and the system securely leverages AI to instantly generate bite-sized summaries and interactive flashcards. This drastically cuts down on manual study prep time and helps students review faster. PHP, External AI API, MySQL, JavaScript Table 1: Module Table Data Collection This details the instruments and procedures employed to gather primary data for the evaluation of the SPACE web application. Given the developmental nature of this research, data collection relies exclusively on primary sources obtained directly from system interactions and the target end-users. To rigorously assess system acceptability and user satisfaction, the researchers will utilize the System Usability Scale (SUS) as the primary quantitative survey instrument. Following a structured User Acceptance Testing (UAT) phase involving a sample of 30 to 50 students at PLT College of Guinobatan Inc., the validated 10-item SUS questionnaire will be administered to capture direct feedback on the application\'s Neumorphic interface, overall navigability, and the perceived utility of the integrated productivity modules. In conjunction with user surveys, quantitative technical data will be gathered through rigorous Benchmark Testing. This involves controlled system evaluations to measure critical performance metrics, specifically the response latency of the external AI API during document processing, the execution speed of PHP-driven database transactions, and the real-time accuracy of the JavaScript Pomodoro timer. Finally, supplementary qualitative data will be collected through direct Observation during the UAT sessions. By monitoring participants as they interact with the centralized dashboard in a naturalistic academic setting, the researchers can effectively identify navigational friction points and assess how intuitively students utilize the toolset without prior technical training. Development Methodology The software development life cycle (SDLC) model adopted for the creation of the SPACE web application is the Agile methodology. This iterative and flexible approach was chosen over traditional sequential models because it allows for continuous user feedback, which is critical when integrating external Artif', '2026-04-30 08:49:46');

-- --------------------------------------------------------

--
-- Table structure for table `users`
--

CREATE TABLE `users` (
  `id` int(10) UNSIGNED NOT NULL,
  `username` varchar(50) NOT NULL,
  `email` varchar(100) NOT NULL,
  `password_hash` varchar(255) NOT NULL DEFAULT '',
  `full_name` varchar(100) NOT NULL,
  `first_name` varchar(100) NOT NULL DEFAULT '',
  `last_name` varchar(100) NOT NULL DEFAULT '',
  `course` varchar(100) DEFAULT NULL,
  `school` varchar(100) DEFAULT NULL,
  `role` enum('student','teacher','admin') DEFAULT 'student',
  `avatar_initials` varchar(4) DEFAULT NULL,
  `semester_progress` tinyint(3) UNSIGNED DEFAULT 0,
  `is_active` tinyint(1) DEFAULT 1,
  `remember_token` varchar(100) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),
  `google_id` varchar(255) DEFAULT NULL,
  `department` varchar(100) DEFAULT NULL,
  `employee_id` varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Dumping data for table `users`
--

INSERT INTO `users` (`id`, `username`, `email`, `password_hash`, `full_name`, `first_name`, `last_name`, `course`, `school`, `role`, `avatar_initials`, `semester_progress`, `is_active`, `remember_token`, `created_at`, `updated_at`, `google_id`, `department`, `employee_id`) VALUES
(1, 'jirwen12', 'palajejirwen@gmail.com', '$2y$12$HkBhVML1JxM8gvQkuLCEkOs7GfnSChnV6YrB1n8SviCNBpxvp2m7G', 'lyka dinoso', '', '', 'CRIMINOLOGY', 'PLT', 'student', 'LD', 21, 1, NULL, '2026-04-14 15:15:51', '2026-06-28 13:05:57', NULL, NULL, NULL),
(2, 'abigil', 'abegailsuarez@gmail.com', '$2y$12$oMyAMEmBlLWMy5vAC.300uuuBJ1BozYbNgY9QsjBKROy0sqe3FQhm', 'Abegail Suarez', '', '', 'BSIT', 'PLT', 'student', 'AS', 40, 1, NULL, '2026-04-15 02:54:20', '2026-04-15 04:11:43', NULL, NULL, NULL),
(3, 'cursor ai', 'aicursor041@gmail.com', '', 'cursor ai', '', '', NULL, NULL, 'student', NULL, 0, 1, NULL, '2026-04-17 01:14:12', '2026-04-17 01:16:16', '100831778896049235458', NULL, NULL),
(4, 'Ivannn', 'ivannebres06@gmail.com', '$2y$12$GnsMkJ04wY3WK1.82mEAN.JL9o5/1ZXDd072NjIE.vPJzhNyceTpe', 'Ivan Nebres', '', '', 'BSIT', 'PLT COLLEGE', 'student', 'IN', 0, 1, NULL, '2026-04-22 06:48:14', '2026-04-22 06:48:14', NULL, NULL, NULL),
(5, 'jorzevangelio23', 'jorzevangeliomar@gmail.com', '$2y$12$gFWCoEYIcjnT.meVvRIoie8mzLXw8XwBtFv1S544/4dQJG1pA6YlS', 'Jorz evangelio Mar', '', '', 'BSIT-3', 'Plt collage', 'student', 'JE', 0, 1, NULL, '2026-04-22 06:54:18', '2026-04-22 06:54:18', NULL, NULL, NULL),
(6, 'abby', 'abegailsuarez984@gmail.com', '$2y$12$XgLJeXglcoUtGVWScKQKEu2Y5.8/h2hzmQrzcABE6NN9Q3YWFdDfa', 'Abegail Suarez', '', '', 'BSIT', 'PLT College', 'student', 'AS', 0, 1, NULL, '2026-04-22 06:57:29', '2026-04-22 06:57:29', NULL, NULL, NULL),
(7, 'its_eunycq', 'eunicadelacruz620@gmail.com', '$2y$12$L9AR.ROGh3Ztt5iFGfRSP.bHbs0Jc52fy58gUH1PEEbBXtrX2mHfm', 'Eunica B. Dela Cruz', '', '', 'BSIT', 'PLT College of Guinobatan, Inc.', 'student', 'EB', 0, 1, NULL, '2026-04-23 08:18:27', '2026-04-23 08:18:27', NULL, NULL, NULL),
(8, 'juan', 'ivanpalay.nebres@gmail.com', '$2y$12$sczNZVybmGKte7FrMTeT5OiuAvk/kb1YV33OqfNIgGmaxiV3x6Fsu', 'Juan dela cruz', '', '', 'Bsit', 'Plt', 'student', 'JD', 0, 1, NULL, '2026-04-27 04:28:39', '2026-04-27 04:28:39', NULL, NULL, NULL),
(9, 'Joshua Obar', 'obarjoshua3@gmail.com', '', 'Joshua Obar', '', '', NULL, NULL, 'student', NULL, 0, 1, NULL, '2026-04-30 05:54:44', '2026-04-30 05:54:44', '102963553952649474158', NULL, NULL),
(10, 'khie_05', 'lykaizabellen@gmail.com', '$2y$12$jA.SRKEGTnt3gxuAmvUyiu5bPfqAxAcTEpJd7sBOuwxxYf8BWj1uy', 'Lyka Izabelle', '', '', 'BSHM', 'PLT College of Guinobatan, Inc.', 'student', 'LI', 0, 1, NULL, '2026-05-22 08:15:12', '2026-05-22 08:15:12', NULL, NULL, NULL),
(11, 'elenapalaje13', 'elenapalaje13@gmail.com', '', 'Elena Palaje', '', '', NULL, NULL, 'student', 'E', 0, 1, NULL, '2026-06-28 14:32:35', '2026-06-28 14:32:35', '107128051065201263171', NULL, NULL),
(12, 'jomar', 'jomar@gmail.com', '$2y$12$xVlETjPXrvjmfJjjA8r4NO5TuzBGConwwD410MMEtHDqwEfXAD5g6', 'Jomar Consorte', 'Jomar', 'Consorte', '', 'PLT', 'teacher', 'JC', 0, 1, NULL, '2026-07-01 00:42:23', '2026-07-01 00:42:23', NULL, 'IT', NULL);

-- --------------------------------------------------------

--
-- Table structure for table `vault_resources`
--

CREATE TABLE `vault_resources` (
  `id` int(10) UNSIGNED NOT NULL,
  `teacher_id` int(10) UNSIGNED NOT NULL,
  `class_id` int(10) UNSIGNED DEFAULT NULL,
  `title` varchar(200) NOT NULL,
  `description` text DEFAULT NULL,
  `file_name` varchar(255) NOT NULL,
  `stored_name` varchar(64) NOT NULL,
  `mime_type` varchar(100) DEFAULT NULL,
  `file_size` int(10) UNSIGNED DEFAULT 0,
  `resource_type` enum('slides','pdf','syllabus','module','activity','reference','other') DEFAULT 'other',
  `tags` varchar(255) DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Indexes for dumped tables
--

--
-- Indexes for table `ai_chats`
--
ALTER TABLE `ai_chats`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_user_session` (`user_id`,`session_id`,`created_at`);

--
-- Indexes for table `ai_chat_sessions`
--
ALTER TABLE `ai_chat_sessions`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `session_id` (`session_id`),
  ADD KEY `idx_user_sessions` (`user_id`,`updated_at`),
  ADD KEY `idx_sessions_user_pin` (`user_id`,`pinned`,`updated_at`);

--
-- Indexes for table `calendar_events`
--
ALTER TABLE `calendar_events`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_user_events` (`user_id`,`event_date`);

--
-- Indexes for table `faculty_notes`
--
ALTER TABLE `faculty_notes`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_teacher_notes` (`teacher_id`,`is_pinned`,`updated_at`);

--
-- Indexes for table `flashcards`
--
ALTER TABLE `flashcards`
  ADD PRIMARY KEY (`id`),
  ADD KEY `deck_id` (`deck_id`),
  ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `flashcard_decks`
--
ALTER TABLE `flashcard_decks`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_user_decks` (`user_id`,`created_at`);

--
-- Indexes for table `grading_items`
--
ALTER TABLE `grading_items`
  ADD PRIMARY KEY (`id`),
  ADD KEY `class_id` (`class_id`),
  ADD KEY `idx_teacher_grading` (`teacher_id`,`grading_status`);

--
-- Indexes for table `notes`
--
ALTER TABLE `notes`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_user_notes` (`user_id`,`is_archived`,`created_at`);

--
-- Indexes for table `password_resets`
--
ALTER TABLE `password_resets`
  ADD PRIMARY KEY (`id`),
  ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `pomodoro_sessions`
--
ALTER TABLE `pomodoro_sessions`
  ADD PRIMARY KEY (`id`),
  ADD KEY `user_id` (`user_id`),
  ADD KEY `task_id` (`task_id`);

--
-- Indexes for table `presence_pings`
--
ALTER TABLE `presence_pings`
  ADD PRIMARY KEY (`user_id`);

--
-- Indexes for table `push_subscriptions`
--
ALTER TABLE `push_subscriptions`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `uq_user_endpoint` (`user_id`,`endpoint`(200)),
  ADD KEY `idx_user` (`user_id`);

--
-- Indexes for table `quiz_answers`
--
ALTER TABLE `quiz_answers`
  ADD PRIMARY KEY (`id`),
  ADD KEY `attempt_id` (`attempt_id`),
  ADD KEY `question_id` (`question_id`),
  ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `quiz_attempts`
--
ALTER TABLE `quiz_attempts`
  ADD PRIMARY KEY (`id`),
  ADD KEY `deck_id` (`deck_id`),
  ADD KEY `idx_user_attempts` (`user_id`,`deck_id`,`started_at`);

--
-- Indexes for table `quiz_decks`
--
ALTER TABLE `quiz_decks`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_user_quizzes` (`user_id`,`created_at`);

--
-- Indexes for table `quiz_questions`
--
ALTER TABLE `quiz_questions`
  ADD PRIMARY KEY (`id`),
  ADD KEY `deck_id` (`deck_id`),
  ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `quiz_responses`
--
ALTER TABLE `quiz_responses`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_attempt_questions` (`attempt_id`,`question_id`);

--
-- Indexes for table `remember_tokens`
--
ALTER TABLE `remember_tokens`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `token_hash` (`token_hash`),
  ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `roadmap_items`
--
ALTER TABLE `roadmap_items`
  ADD PRIMARY KEY (`id`),
  ADD KEY `class_id` (`class_id`),
  ADD KEY `idx_teacher_roadmap` (`teacher_id`,`class_id`,`week_number`);

--
-- Indexes for table `study_sessions`
--
ALTER TABLE `study_sessions`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_user_date` (`user_id`,`session_date`);

--
-- Indexes for table `subjects`
--
ALTER TABLE `subjects`
  ADD PRIMARY KEY (`id`),
  ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `tasks`
--
ALTER TABLE `tasks`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_user_tasks` (`user_id`,`status`,`due_date`);

--
-- Indexes for table `teacher_classes`
--
ALTER TABLE `teacher_classes`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_teacher_classes` (`teacher_id`,`school_year`,`semester`);

--
-- Indexes for table `uploaded_docs`
--
ALTER TABLE `uploaded_docs`
  ADD PRIMARY KEY (`id`),
  ADD KEY `user_id` (`user_id`);

--
-- Indexes for table `users`
--
ALTER TABLE `users`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `username` (`username`),
  ADD UNIQUE KEY `email` (`email`),
  ADD UNIQUE KEY `google_id` (`google_id`);

--
-- Indexes for table `vault_resources`
--
ALTER TABLE `vault_resources`
  ADD PRIMARY KEY (`id`),
  ADD KEY `class_id` (`class_id`),
  ADD KEY `idx_teacher_vault` (`teacher_id`,`resource_type`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `ai_chats`
--
ALTER TABLE `ai_chats`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=271;

--
-- AUTO_INCREMENT for table `ai_chat_sessions`
--
ALTER TABLE `ai_chat_sessions`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=45;

--
-- AUTO_INCREMENT for table `calendar_events`
--
ALTER TABLE `calendar_events`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT for table `faculty_notes`
--
ALTER TABLE `faculty_notes`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `flashcards`
--
ALTER TABLE `flashcards`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=80;

--
-- AUTO_INCREMENT for table `flashcard_decks`
--
ALTER TABLE `flashcard_decks`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=13;

--
-- AUTO_INCREMENT for table `grading_items`
--
ALTER TABLE `grading_items`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `notes`
--
ALTER TABLE `notes`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=20;

--
-- AUTO_INCREMENT for table `password_resets`
--
ALTER TABLE `password_resets`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=48;

--
-- AUTO_INCREMENT for table `pomodoro_sessions`
--
ALTER TABLE `pomodoro_sessions`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=15;

--
-- AUTO_INCREMENT for table `push_subscriptions`
--
ALTER TABLE `push_subscriptions`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `quiz_answers`
--
ALTER TABLE `quiz_answers`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=118;

--
-- AUTO_INCREMENT for table `quiz_attempts`
--
ALTER TABLE `quiz_attempts`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=53;

--
-- AUTO_INCREMENT for table `quiz_decks`
--
ALTER TABLE `quiz_decks`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=24;

--
-- AUTO_INCREMENT for table `quiz_questions`
--
ALTER TABLE `quiz_questions`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=164;

--
-- AUTO_INCREMENT for table `quiz_responses`
--
ALTER TABLE `quiz_responses`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `remember_tokens`
--
ALTER TABLE `remember_tokens`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=20;

--
-- AUTO_INCREMENT for table `roadmap_items`
--
ALTER TABLE `roadmap_items`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `study_sessions`
--
ALTER TABLE `study_sessions`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=15;

--
-- AUTO_INCREMENT for table `subjects`
--
ALTER TABLE `subjects`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `tasks`
--
ALTER TABLE `tasks`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

--
-- AUTO_INCREMENT for table `teacher_classes`
--
ALTER TABLE `teacher_classes`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT for table `uploaded_docs`
--
ALTER TABLE `uploaded_docs`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=14;

--
-- AUTO_INCREMENT for table `users`
--
ALTER TABLE `users`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=13;

--
-- AUTO_INCREMENT for table `vault_resources`
--
ALTER TABLE `vault_resources`
  MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;

--
-- Constraints for dumped tables
--

--
-- Constraints for table `ai_chats`
--
ALTER TABLE `ai_chats`
  ADD CONSTRAINT `ai_chats_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `ai_chat_sessions`
--
ALTER TABLE `ai_chat_sessions`
  ADD CONSTRAINT `ai_chat_sessions_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `calendar_events`
--
ALTER TABLE `calendar_events`
  ADD CONSTRAINT `calendar_events_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `faculty_notes`
--
ALTER TABLE `faculty_notes`
  ADD CONSTRAINT `faculty_notes_ibfk_1` FOREIGN KEY (`teacher_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `flashcards`
--
ALTER TABLE `flashcards`
  ADD CONSTRAINT `flashcards_ibfk_1` FOREIGN KEY (`deck_id`) REFERENCES `flashcard_decks` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `flashcards_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `flashcard_decks`
--
ALTER TABLE `flashcard_decks`
  ADD CONSTRAINT `flashcard_decks_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `grading_items`
--
ALTER TABLE `grading_items`
  ADD CONSTRAINT `grading_items_ibfk_1` FOREIGN KEY (`teacher_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `grading_items_ibfk_2` FOREIGN KEY (`class_id`) REFERENCES `teacher_classes` (`id`) ON DELETE SET NULL;

--
-- Constraints for table `notes`
--
ALTER TABLE `notes`
  ADD CONSTRAINT `notes_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `password_resets`
--
ALTER TABLE `password_resets`
  ADD CONSTRAINT `password_resets_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `pomodoro_sessions`
--
ALTER TABLE `pomodoro_sessions`
  ADD CONSTRAINT `pomodoro_sessions_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `pomodoro_sessions_ibfk_2` FOREIGN KEY (`task_id`) REFERENCES `tasks` (`id`) ON DELETE SET NULL;

--
-- Constraints for table `presence_pings`
--
ALTER TABLE `presence_pings`
  ADD CONSTRAINT `presence_pings_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `push_subscriptions`
--
ALTER TABLE `push_subscriptions`
  ADD CONSTRAINT `push_subscriptions_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `quiz_answers`
--
ALTER TABLE `quiz_answers`
  ADD CONSTRAINT `quiz_answers_ibfk_1` FOREIGN KEY (`attempt_id`) REFERENCES `quiz_attempts` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `quiz_answers_ibfk_2` FOREIGN KEY (`question_id`) REFERENCES `quiz_questions` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `quiz_answers_ibfk_3` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `quiz_attempts`
--
ALTER TABLE `quiz_attempts`
  ADD CONSTRAINT `quiz_attempts_ibfk_1` FOREIGN KEY (`deck_id`) REFERENCES `quiz_decks` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `quiz_attempts_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `quiz_decks`
--
ALTER TABLE `quiz_decks`
  ADD CONSTRAINT `quiz_decks_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `quiz_questions`
--
ALTER TABLE `quiz_questions`
  ADD CONSTRAINT `quiz_questions_ibfk_1` FOREIGN KEY (`deck_id`) REFERENCES `quiz_decks` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `quiz_questions_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `quiz_responses`
--
ALTER TABLE `quiz_responses`
  ADD CONSTRAINT `quiz_responses_ibfk_1` FOREIGN KEY (`attempt_id`) REFERENCES `quiz_attempts` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `remember_tokens`
--
ALTER TABLE `remember_tokens`
  ADD CONSTRAINT `remember_tokens_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `roadmap_items`
--
ALTER TABLE `roadmap_items`
  ADD CONSTRAINT `roadmap_items_ibfk_1` FOREIGN KEY (`teacher_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `roadmap_items_ibfk_2` FOREIGN KEY (`class_id`) REFERENCES `teacher_classes` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `study_sessions`
--
ALTER TABLE `study_sessions`
  ADD CONSTRAINT `study_sessions_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `subjects`
--
ALTER TABLE `subjects`
  ADD CONSTRAINT `subjects_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `tasks`
--
ALTER TABLE `tasks`
  ADD CONSTRAINT `tasks_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `teacher_classes`
--
ALTER TABLE `teacher_classes`
  ADD CONSTRAINT `teacher_classes_ibfk_1` FOREIGN KEY (`teacher_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `uploaded_docs`
--
ALTER TABLE `uploaded_docs`
  ADD CONSTRAINT `uploaded_docs_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Constraints for table `vault_resources`
--
ALTER TABLE `vault_resources`
  ADD CONSTRAINT `vault_resources_ibfk_1` FOREIGN KEY (`teacher_id`) REFERENCES `users` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `vault_resources_ibfk_2` FOREIGN KEY (`class_id`) REFERENCES `teacher_classes` (`id`) ON DELETE SET NULL;
COMMIT;

