-- https://www.phpmyadmin.net/
--
-- Tempo de geração: 10/12/2025 às 15:22
-- Versão do servidor: 8.0.44
-- Versão do PHP: 8.3.23

START TRANSACTION;



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

--
-- Estrutura para tabela `categories`
--

CREATE TABLE `categories` (
  `id` int NOT NULL,
  `name` varchar(100) COLLATE utf8mb4_general_ci NOT NULL,
  `slug` varchar(100) COLLATE utf8mb4_general_ci NOT NULL,
  `description` text COLLATE utf8mb4_general_ci,
  `icon` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `color` varchar(7) COLLATE utf8mb4_general_ci DEFAULT '#2563eb',
  `active` tinyint(1) DEFAULT '1',
  `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 COMMENT='Tabela de categorias de cursos (opcional)';

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

--
-- Estrutura para tabela `certificates`
--

CREATE TABLE `certificates` (
  `id` int NOT NULL,
  `user_id` int NOT NULL,
  `course_id` int NOT NULL,
  `certificate_code` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
  `issued_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `valid_until` timestamp NULL DEFAULT NULL,
  `pdf_path` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Tabela de certificados emitidos';

--
-- Despejando dados para a tabela `certificates`
--

INSERT INTO `certificates` (`id`, `user_id`, `course_id`, `certificate_code`, `issued_at`, `valid_until`, `pdf_path`) VALUES
(0, 11, 4, 'CERT-1758718659480-9ZO0HG3YN', '2025-09-24 12:57:39', '2035-09-22 12:57:39', NULL),
(0, 14, 4, 'CERT-1758661852353-LC94W4XAD', '2025-09-23 21:10:52', '2035-09-21 21:10:52', NULL),
(0, 17, 4, 'CERT-1758710500301-8IFVXTWWP', '2025-09-24 10:41:40', '2035-09-22 10:41:40', NULL),
(0, 18, 4, 'CERT-1758798429301-G6AR326RF', '2025-09-25 11:07:09', '2035-09-23 11:07:09', NULL),
(0, 19, 4, 'CERT-1758764530511-69KUCGYM1', '2025-09-25 01:42:10', '2035-09-23 01:42:10', NULL),
(0, 20, 4, 'CERT-1758888585778-55ILCT54L', '2025-09-26 12:09:45', '2035-09-24 12:09:45', NULL),
(0, 25, 4, 'CERT-1758737193584-7UV8J1E7Q', '2025-09-24 18:06:33', '2035-09-22 18:06:33', NULL),
(0, 26, 4, 'CERT-1758816105302-EV1FKT6ZY', '2025-09-25 16:01:45', '2035-09-23 16:01:45', NULL),
(0, 27, 4, 'CERT-1760632462147-J4KRXQMGI', '2025-10-16 16:34:22', '2035-10-14 16:34:22', NULL),
(0, 33, 4, 'CERT-1758804771075-QTZK8YR5V', '2025-09-25 12:52:51', '2035-09-23 12:52:51', NULL),
(0, 36, 4, 'CERT-1758749821879-ZTWOM117X', '2025-09-24 21:37:01', '2035-09-22 21:37:01', NULL),
(0, 39, 4, 'CERT-1758822210423-LHD4IYALC', '2025-09-25 17:43:30', '2035-09-23 17:43:30', NULL),
(0, 43, 4, 'CERT-1759319335935-XI9N1FDTE', '2025-10-01 11:48:55', '2035-09-29 11:48:55', NULL),
(0, 51, 4, 'CERT-1764202292002-2V9XK2TRN', '2025-11-27 00:11:32', '2035-11-25 00:11:32', NULL);

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

--
-- Estrutura para tabela `conversations`
--

CREATE TABLE `conversations` (
  `id` int NOT NULL,
  `type` enum('direct','group') COLLATE utf8mb4_general_ci NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `description` text COLLATE utf8mb4_general_ci,
  `school_id` int NOT NULL,
  `created_by` int NOT NULL,
  `avatar` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `active` tinyint(1) DEFAULT '1',
  `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 COMMENT='Tabela de conversas/chats do sistema';

--
-- Despejando dados para a tabela `conversations`
--

INSERT INTO `conversations` (`id`, `type`, `name`, `description`, `school_id`, `created_by`, `avatar`, `active`, `created_at`, `updated_at`) VALUES
(8, 'group', 'Veríssimo', 'Canal de comunicação para orientações e trocas sobre o processo de formação e introdução do PEI.', 1, 14, NULL, 1, '2025-09-21 21:45:23', '2025-10-01 13:02:53'),
(9, 'direct', NULL, NULL, 1, 11, NULL, 1, '2025-09-22 11:40:57', '2025-09-22 23:15:35'),
(10, 'direct', NULL, NULL, 1, 19, NULL, 1, '2025-09-25 16:53:30', '2025-09-25 16:53:30'),
(11, 'direct', NULL, NULL, 1, 14, NULL, 1, '2025-11-25 17:05:37', '2025-11-25 17:05:37');

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

--
-- Estrutura para tabela `conversation_list`
--

CREATE TABLE `conversation_list` (
  `id` int DEFAULT NULL,
  `type` enum('direct','group') DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  `school_id` int DEFAULT NULL,
  `school_name` varchar(255) DEFAULT NULL,
  `created_by` int DEFAULT NULL,
  `creator_name` varchar(255) DEFAULT NULL,
  `active` tinyint(1) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `last_message` text,
  `last_message_at` timestamp NULL DEFAULT NULL,
  `last_sender_name` varchar(255) DEFAULT NULL,
  `participant_count` bigint DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

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

--
-- Estrutura para tabela `conversation_participants`
--

CREATE TABLE `conversation_participants` (
  `id` int NOT NULL,
  `conversation_id` int NOT NULL,
  `user_id` int NOT NULL,
  `role` enum('admin','member') COLLATE utf8mb4_general_ci DEFAULT 'member',
  `joined_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `last_read_at` timestamp NULL DEFAULT NULL,
  `active` tinyint(1) DEFAULT '1'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Participantes das conversas';

--
-- Despejando dados para a tabela `conversation_participants`
--

INSERT INTO `conversation_participants` (`id`, `conversation_id`, `user_id`, `role`, `joined_at`, `last_read_at`, `active`) VALUES
(0, 0, 11, 'admin', '2025-08-31 22:02:56', NULL, 1),
(0, 0, 11, 'admin', '2025-08-31 22:03:00', NULL, 1),
(1, 1, 11, 'admin', '2025-08-31 22:14:17', '2025-09-02 15:35:24', 1),
(2, 2, 14, 'admin', '2025-09-14 01:58:41', '2025-09-21 21:52:55', 1),
(3, 2, 15, 'member', '2025-09-14 01:58:41', NULL, 1),
(6, 4, 11, 'admin', '2025-09-15 00:19:57', NULL, 1),
(7, 5, 11, 'admin', '2025-09-15 00:20:04', NULL, 1),
(8, 6, 14, 'admin', '2025-09-17 21:20:11', '2025-09-21 21:52:57', 1),
(9, 6, 19, 'member', '2025-09-17 21:20:11', NULL, 1),
(10, 7, 14, 'admin', '2025-09-17 21:20:12', '2025-09-21 21:52:58', 1),
(11, 7, 20, 'member', '2025-09-17 21:20:12', NULL, 1),
(12, 8, 14, 'admin', '2025-09-21 21:45:23', '2025-12-05 19:05:48', 1),
(13, 8, 19, 'member', '2025-09-21 21:45:23', '2025-10-06 13:54:45', 1),
(14, 8, 20, 'member', '2025-09-21 21:45:23', NULL, 1),
(15, 8, 26, 'member', '2025-09-21 21:45:23', NULL, 1),
(16, 8, 29, 'member', '2025-09-21 21:45:23', '2025-09-24 21:36:29', 1),
(17, 8, 16, 'member', '2025-09-21 21:45:23', NULL, 1),
(18, 8, 15, 'member', '2025-09-21 21:45:23', NULL, 1),
(19, 8, 24, 'member', '2025-09-21 21:45:23', NULL, 1),
(20, 8, 28, 'member', '2025-09-21 21:45:23', NULL, 1),
(21, 8, 32, 'member', '2025-09-21 21:45:23', NULL, 1),
(22, 8, 22, 'member', '2025-09-21 21:45:23', NULL, 1),
(23, 8, 27, 'member', '2025-09-21 21:45:23', NULL, 1),
(24, 8, 30, 'member', '2025-09-21 21:45:23', NULL, 1),
(25, 8, 18, 'member', '2025-09-21 21:45:23', NULL, 1),
(26, 8, 23, 'member', '2025-09-21 21:45:23', NULL, 1),
(27, 8, 21, 'member', '2025-09-21 21:45:23', NULL, 1),
(28, 8, 17, 'member', '2025-09-21 21:45:23', NULL, 1),
(29, 8, 25, 'member', '2025-09-21 21:45:23', '2025-09-25 11:28:42', 1),
(30, 9, 11, 'admin', '2025-09-22 10:48:51', '2025-11-18 17:50:45', 1),
(35, 9, 11, 'admin', '2025-09-22 11:40:57', '2025-11-18 17:50:45', 1),
(36, 9, 14, 'member', '2025-09-22 11:40:57', '2025-10-17 15:50:05', 1),
(37, 8, 31, 'member', '2025-09-23 02:59:21', NULL, 1),
(38, 8, 33, 'member', '2025-09-23 02:59:21', NULL, 1),
(39, 8, 39, 'member', '2025-09-23 23:41:44', NULL, 1),
(40, 8, 41, 'member', '2025-09-23 23:41:44', NULL, 1),
(41, 8, 35, 'member', '2025-09-23 23:41:44', NULL, 1),
(42, 8, 37, 'member', '2025-09-23 23:41:44', NULL, 1),
(43, 8, 34, 'member', '2025-09-23 23:41:44', NULL, 1),
(44, 8, 40, 'member', '2025-09-23 23:41:44', '2025-09-24 21:33:00', 1),
(45, 8, 36, 'member', '2025-09-23 23:41:44', NULL, 1),
(46, 8, 38, 'member', '2025-09-23 23:41:44', NULL, 1),
(47, 10, 19, 'admin', '2025-09-25 16:53:30', '2025-09-25 16:53:30', 1),
(48, 10, 20, 'member', '2025-09-25 16:53:30', NULL, 1),
(49, 8, 47, 'member', '2025-10-01 13:03:45', NULL, 1),
(50, 8, 42, 'member', '2025-10-01 13:03:45', NULL, 1),
(51, 8, 46, 'member', '2025-10-01 13:03:45', NULL, 1),
(52, 8, 48, 'member', '2025-10-01 13:03:45', NULL, 1),
(53, 8, 44, 'member', '2025-10-01 13:03:45', NULL, 1),
(54, 8, 45, 'member', '2025-10-01 13:03:45', NULL, 1),
(55, 8, 43, 'member', '2025-10-01 13:03:45', NULL, 1),
(56, 8, 49, 'member', '2025-10-06 13:37:30', NULL, 1),
(57, 11, 14, 'admin', '2025-11-25 17:05:37', '2025-12-05 19:05:47', 1),
(58, 11, 19, 'member', '2025-11-25 17:05:37', NULL, 1);

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

--
-- Estrutura para tabela `courses`
--

CREATE TABLE `courses` (
  `id` int NOT NULL,
  `title` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
  `slug` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
  `description` text COLLATE utf8mb4_general_ci,
  `short_description` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `instructor_id` int NOT NULL,
  `thumbnail` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `video_url` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `video_duration` int DEFAULT '0',
  `level` enum('beginner','intermediate','advanced') COLLATE utf8mb4_general_ci DEFAULT 'beginner',
  `category` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `tags` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
  `price` decimal(10,2) DEFAULT '0.00',
  `is_free` tinyint(1) DEFAULT '1',
  `is_featured` tinyint(1) DEFAULT '0',
  `total_enrollments` int DEFAULT '0',
  `rating` decimal(3,2) DEFAULT '0.00',
  `total_ratings` int DEFAULT '0',
  `active` tinyint(1) DEFAULT '1',
  `published_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
) ;

--
-- Despejando dados para a tabela `courses`
--

INSERT INTO `courses` (`id`, `title`, `slug`, `description`, `short_description`, `instructor_id`, `thumbnail`, `video_url`, `video_duration`, `level`, `category`, `tags`, `price`, `is_free`, `is_featured`, `total_enrollments`, `rating`, `total_ratings`, `active`, `published_at`, `created_at`, `updated_at`) VALUES
(3, 'Introdução a Phyton', 'introducao-a-phyton-1758597381586', 'Um teste legal', 'Teste', 11, 'uploads/thumbnails/thumbnail-1758597381577-386863492.png', NULL, 0, 'intermediate', 'Tecnologia', '[\"[\\\"teste\\\"]\"]', 0.00, 1, 0, 6, 0.00, 0, 1, '2025-09-23 03:33:35', '2025-09-23 03:16:21', '2025-11-27 00:15:49'),
(4, 'Caminhos da Inclusão: Da Teoria à Prática no Cotidiano Escolar', 'caminhos-da-inclusao-da-teoria-a-pratica-no-cotidiano-escolar-1758656698456', 'O curso tem como finalidade ampliar a compreensão e a prática da educação inclusiva no contexto escolar, capacitando professores e demais profissionais da educação para lidar com os desafios da diversidade. Organizado em módulos assíncronos e encontros presenciais, o percurso formativo articula fundamentos teóricos, legislações, metodologias e estratégias pedagógicas acessíveis, possibilitando a construção de propostas aplicáveis à realidade educacional.\r\nAo longo do curso, os participantes serão convidados a refletir sobre o marco legal da inclusão, a importância da diversidade no ambiente escolar, o papel do planejamento pedagógico inclusivo com base no Desenho Universal para a Aprendizagem (DUA) e na elaboração do Plano Educacional Individualizado (PEI). Também serão discutidas práticas de ensino colaborativo, estratégias de ensino e avaliação inclusiva, bem como o uso de recursos pedagógicos acessíveis e tecnologias assistivas para atender às necessidades específicas de estudantes com TEA, TDAH, deficiência intelectual, entre outros.\r\nA dinâmica do curso combina leituras dirigidas, fóruns de discussão, estudos de caso, filmes e produções escritas, promovendo uma aprendizagem interativa mesmo em ambiente assíncrono. Para consolidar os conhecimentos, os participantes desenvolverão uma Proposta Final Inclusiva, integrando teoria e prática em um plano de ação que poderá ser aplicado em seu contexto escolar.\r\nCom carga horária total de 80 horas, o curso proporciona não apenas o domínio de conceitos e metodologias, mas também o fortalecimento de uma postura crítica e comprometida com uma educação democrática, acessível e de qualidade para todos.', 'O curso tem como objetivo formar professores e profissionais da educação para a prática inclusiva, oferecendo fundamentos teóricos e ferramentas pedagógicas para o trabalho com a diversidade no ambiente escolar. Os participantes terão acesso a módulos sobre legislação, planejamento inclusivo (DUA e PEI), estratégias de ensino e avaliação, recursos acessíveis e tecnologias assistivas, além de atividades complementares (leituras, fóruns e filmes). ', 14, 'uploads/thumbnails/thumbnail-1758656697526-252138732.png', NULL, 0, 'beginner', 'Educação', '[\"[\\\"[\\\\\\\"inclusão\\\\\\\"\\\"\",\"\\\"\\\\\\\"PEI\\\\\\\"\\\"\",\"\\\"\\\\\\\"TEA\\\\\\\"]\\\"]\"]', 0.00, 1, 1, 21, 0.00, 0, 1, '2025-09-23 20:25:09', '2025-09-23 19:44:58', '2025-11-27 00:10:53');

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

--
-- Estrutura para tabela `courses_old`
--

CREATE TABLE `courses_old` (
  `id` int NOT NULL,
  `title` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
  `slug` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
  `description` text COLLATE utf8mb4_general_ci,
  `short_description` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `instructor_id` int NOT NULL,
  `thumbnail` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `video_url` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `video_duration` int DEFAULT '0',
  `level` enum('beginner','intermediate','advanced') COLLATE utf8mb4_general_ci DEFAULT 'beginner',
  `category` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `tags` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
  `price` decimal(10,2) DEFAULT '0.00',
  `is_free` tinyint(1) DEFAULT '1',
  `is_featured` tinyint(1) DEFAULT '0',
  `total_enrollments` int DEFAULT '0',
  `rating` decimal(3,2) DEFAULT '0.00',
  `total_ratings` int DEFAULT '0',
  `active` tinyint(1) DEFAULT '1',
  `published_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
) ;

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

--
-- Estrutura para tabela `course_details`
--

CREATE TABLE `course_details` (
  `id` int DEFAULT NULL,
  `title` varchar(255) DEFAULT NULL,
  `slug` varchar(255) DEFAULT NULL,
  `description` text,
  `short_description` varchar(500) DEFAULT NULL,
  `instructor_id` int DEFAULT NULL,
  `thumbnail` varchar(500) DEFAULT NULL,
  `video_url` varchar(500) DEFAULT NULL,
  `video_duration` int DEFAULT NULL,
  `level` enum('beginner','intermediate','advanced') DEFAULT NULL,
  `category` varchar(100) DEFAULT NULL,
  `tags` longtext,
  `price` decimal(10,2) DEFAULT NULL,
  `is_free` tinyint(1) DEFAULT NULL,
  `is_featured` tinyint(1) DEFAULT NULL,
  `total_enrollments` int DEFAULT NULL,
  `rating` decimal(3,2) DEFAULT NULL,
  `total_ratings` int DEFAULT NULL,
  `active` tinyint(1) DEFAULT NULL,
  `published_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `instructor_name` varchar(255) DEFAULT NULL,
  `instructor_email` varchar(255) DEFAULT NULL,
  `instructor_avatar` varchar(500) DEFAULT NULL,
  `instructor_bio` text
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

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

--
-- Estrutura para tabela `enrollments`
--

CREATE TABLE `enrollments` (
  `id` int NOT NULL,
  `user_id` int NOT NULL,
  `course_id` int NOT NULL,
  `progress_percentage` decimal(5,2) DEFAULT '0.00',
  `last_watched_position` int DEFAULT '0',
  `completed` tinyint(1) DEFAULT '0',
  `completed_at` timestamp NULL DEFAULT NULL,
  `rating` int DEFAULT NULL,
  `review` text COLLATE utf8mb4_general_ci,
  `enrolled_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `completed_lessons` text COLLATE utf8mb4_general_ci,
  `last_lesson_id` int DEFAULT NULL
) ;

--
-- Despejando dados para a tabela `enrollments`
--

INSERT INTO `enrollments` (`id`, `user_id`, `course_id`, `progress_percentage`, `last_watched_position`, `completed`, `completed_at`, `rating`, `review`, `enrolled_at`, `updated_at`, `completed_lessons`, `last_lesson_id`) VALUES
(0, 11, 4, 1.12, 4, 1, '2025-11-27 00:11:31', NULL, NULL, '2025-09-24 12:55:08', '2025-11-27 00:18:17', NULL, NULL),
(0, 14, 0, 1.12, 4, 1, '2025-11-27 00:11:31', NULL, NULL, '2025-09-14 01:57:04', '2025-11-27 00:18:17', NULL, NULL),
(0, 14, 4, 1.12, 4, 1, '2025-11-27 00:11:31', NULL, NULL, '2025-09-23 21:09:45', '2025-11-27 00:18:17', NULL, NULL),
(0, 17, 4, 1.12, 4, 1, '2025-11-27 00:11:31', NULL, NULL, '2025-09-24 10:39:05', '2025-11-27 00:18:17', NULL, NULL),
(0, 18, 4, 1.12, 4, 1, '2025-11-27 00:11:31', NULL, NULL, '2025-09-25 11:05:36', '2025-11-27 00:18:17', NULL, NULL),
(0, 19, 3, 1.12, 4, 1, '2025-11-27 00:11:31', NULL, NULL, '2025-09-25 01:45:09', '2025-11-27 00:18:17', NULL, NULL),
(0, 19, 4, 1.12, 4, 1, '2025-11-27 00:11:31', NULL, NULL, '2025-09-25 01:32:26', '2025-11-27 00:18:17', NULL, NULL),
(0, 20, 4, 1.12, 4, 1, '2025-11-27 00:11:31', NULL, NULL, '2025-09-26 11:20:22', '2025-11-27 00:18:17', NULL, NULL),
(0, 23, 4, 1.12, 4, 1, '2025-11-27 00:11:31', NULL, NULL, '2025-09-26 13:17:45', '2025-11-27 00:18:17', NULL, NULL),
(0, 25, 4, 1.12, 4, 1, '2025-11-27 00:11:31', NULL, NULL, '2025-09-24 18:03:48', '2025-11-27 00:18:17', NULL, NULL),
(0, 26, 3, 1.12, 4, 1, '2025-11-27 00:11:31', NULL, NULL, '2025-10-01 23:31:30', '2025-11-27 00:18:17', NULL, NULL),
(0, 26, 4, 1.12, 4, 1, '2025-11-27 00:11:31', NULL, NULL, '2025-09-25 16:00:19', '2025-11-27 00:18:17', NULL, NULL),
(0, 27, 4, 1.12, 4, 1, '2025-11-27 00:11:31', NULL, NULL, '2025-10-16 16:32:56', '2025-11-27 00:18:17', NULL, NULL),
(0, 28, 3, 1.12, 4, 1, '2025-11-27 00:11:31', NULL, NULL, '2025-09-24 21:34:11', '2025-11-27 00:18:17', NULL, NULL),
(0, 29, 4, 1.12, 4, 1, '2025-11-27 00:11:31', NULL, NULL, '2025-09-24 21:27:42', '2025-11-27 00:18:17', NULL, NULL),
(0, 33, 4, 1.12, 4, 1, '2025-11-27 00:11:31', NULL, NULL, '2025-09-25 12:34:59', '2025-11-27 00:18:17', NULL, NULL),
(0, 35, 3, 1.12, 4, 1, '2025-11-27 00:11:31', NULL, NULL, '2025-09-23 15:26:32', '2025-11-27 00:18:17', NULL, NULL),
(0, 36, 4, 1.12, 4, 1, '2025-11-27 00:11:31', NULL, NULL, '2025-09-24 21:31:38', '2025-11-27 00:18:17', NULL, NULL),
(0, 39, 4, 1.12, 4, 1, '2025-11-27 00:11:31', NULL, NULL, '2025-09-25 17:41:28', '2025-11-27 00:18:17', NULL, NULL),
(0, 40, 4, 1.12, 4, 1, '2025-11-27 00:11:31', NULL, NULL, '2025-09-23 20:46:47', '2025-11-27 00:18:17', NULL, NULL),
(0, 41, 4, 1.12, 4, 1, '2025-11-27 00:11:31', NULL, NULL, '2025-09-23 23:01:43', '2025-11-27 00:18:17', NULL, NULL),
(0, 43, 4, 1.12, 4, 1, '2025-11-27 00:11:31', NULL, NULL, '2025-10-01 11:45:00', '2025-11-27 00:18:17', NULL, NULL),
(0, 46, 4, 1.12, 4, 1, '2025-11-27 00:11:31', NULL, NULL, '2025-09-25 10:25:19', '2025-11-27 00:18:17', NULL, NULL),
(0, 50, 4, 1.12, 4, 1, '2025-11-27 00:11:31', NULL, NULL, '2025-10-15 22:19:50', '2025-11-27 00:18:17', NULL, NULL),
(0, 51, 3, 1.12, 4, 0, NULL, NULL, NULL, '2025-11-27 00:15:49', '2025-11-27 00:18:17', NULL, NULL),
(0, 51, 4, 1.12, 4, 1, '2025-11-27 00:11:31', NULL, NULL, '2025-11-27 00:10:53', '2025-11-27 00:18:17', NULL, NULL);

--
-- Acionadores `enrollments`
--
DELIMITER $$
CREATE TRIGGER `update_course_enrollments_after_delete` AFTER DELETE ON `enrollments` FOR EACH ROW BEGIN
    UPDATE courses 
    SET total_enrollments = (
        SELECT COUNT(*) FROM enrollments WHERE course_id = OLD.course_id
    )
    WHERE id = OLD.course_id;
END
$$
DELIMITER ;
DELIMITER $$
CREATE TRIGGER `update_course_enrollments_after_insert` AFTER INSERT ON `enrollments` FOR EACH ROW BEGIN
    UPDATE courses 
    SET total_enrollments = (
        SELECT COUNT(*) FROM enrollments WHERE course_id = NEW.course_id
    )
    WHERE id = NEW.course_id;
END
$$
DELIMITER ;
DELIMITER $$
CREATE TRIGGER `update_course_rating_after_review_delete` AFTER DELETE ON `enrollments` FOR EACH ROW BEGIN
    IF OLD.rating IS NOT NULL THEN
        UPDATE courses c
        SET 
            rating = COALESCE((
                SELECT AVG(rating) FROM reviews 
                WHERE course_id = OLD.course_id AND active = true
            ), 0),
            total_ratings = COALESCE((
                SELECT COUNT(*) FROM reviews 
                WHERE course_id = OLD.course_id AND active = true
            ), 0)
        WHERE c.id = OLD.course_id;
    END IF;
END
$$
DELIMITER ;

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

--
-- Estrutura para tabela `lessons`
--

CREATE TABLE `lessons` (
  `id` int NOT NULL,
  `module_id` int NOT NULL,
  `title` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
  `description` text COLLATE utf8mb4_general_ci,
  `video_url` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `pdf_url` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `duration` int DEFAULT '0' COMMENT 'Duração em segundos',
  `order` int DEFAULT '0',
  `type` enum('video','text','quiz','assignment') COLLATE utf8mb4_general_ci DEFAULT 'video',
  `content` text COLLATE utf8mb4_general_ci COMMENT 'Conteúdo textual para aulas tipo text',
  `is_published` tinyint(1) DEFAULT '0',
  `is_free` tinyint(1) DEFAULT '0' COMMENT 'Se true, pode ser assistida sem matrícula',
  `view_count` int DEFAULT '0',
  `thumbnail` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Despejando dados para a tabela `lessons`
--

INSERT INTO `lessons` (`id`, `module_id`, `title`, `description`, `video_url`, `pdf_url`, `duration`, `order`, `type`, `content`, `is_published`, `is_free`, `view_count`, `thumbnail`, `created_at`, `updated_at`) VALUES
(3, 0, 'Boas-vindas', '🎉 Aula de Boas-Vindas\r\nA aula de abertura tem como objetivo acolher os participantes e apresentar a proposta pedagógica do curso, destacando sua importância para a construção de práticas inclusivas no ambiente escolar. Neste momento inicial, os cursistas conhecerão a organização do percurso formativo, os objetivos de aprendizagem, a carga horária e as formas de participação, além de receber orientações sobre o uso da plataforma.\r\nA aula de boas-vindas também convida os participantes a refletirem sobre o significado de “inclusão” em sua trajetória pessoal e profissional, incentivando a criação de um espaço de diálogo e troca de experiências ao longo do curso.\r\nAtividades propostas:\r\nMensagem inicial (em texto ou vídeo do professor/tutor): apresentação do curso e boas-vindas.\r\nLeitura rápida: guia do participante com cronograma e orientações.\r\nDinâmica de integração (fórum): cada cursista deve se apresentar e responder à questão:\r\n👉 “O que significa inclusão para você?”\r\nCarga horária estimada: 2h', 'uploads/videos/lessons/video-1758681236845-281371610_processed.mp4', 'uploads/materials/file-1758681370350-766724393.pdf', 60, 1, 'video', NULL, 1, 1, 0, 'uploads/thumbnails/lesson-1758681356812.jpg', '2025-09-23 23:35:56', '2025-09-24 09:09:38'),
(4, 0, 'Perspectiva histórica da Educação Inclusiva', 'Nesta aula, os participantes são convidados a compreender a trajetória da educação inclusiva ao longo do tempo, analisando como as concepções de deficiência, diferença e diversidade foram se transformando em diferentes contextos históricos. A proposta é refletir sobre a passagem de modelos excludentes e assistencialistas para uma visão de direitos humanos e cidadania, que fundamenta as atuais políticas educacionais.\r\nConteúdos abordados:\r\nBreve histórico da educação especial: das práticas segregacionistas às escolas especiais.\r\nMovimentos sociais e avanços na defesa dos direitos das pessoas com deficiência.\r\nO surgimento da educação inclusiva: legislações nacionais e internacionais.\r\nA inclusão como processo histórico e social em construção.\r\nAtividades propostas:\r\nLeitura orientada de texto sobre a evolução da educação especial e inclusiva.\r\nLinha do tempo interativa (atividade escrita ou em mural colaborativo) destacando os principais marcos históricos.\r\nFórum de reflexão: “Quais mudanças históricas você considera mais significativas para a consolidação da inclusão escolar?”.\r\nCarga horária estimada: 4h', 'uploads/videos/lessons/video-1758681694010-776999050_processed.mp4', 'uploads/materials/file-1758681850663-261152994.pdf', 300, 2, 'video', NULL, 1, 1, 0, 'uploads/thumbnails/lesson-1758681837519.jpg', '2025-09-23 23:43:57', '2025-09-24 09:09:35'),
(5, 0, 'Conceitos de Inclusão e Diversidade', 'Nesta aula, os participantes serão introduzidos aos conceitos fundamentais de inclusão e diversidade, compreendendo-os como pilares para a construção de uma educação democrática e de qualidade para todos. A proposta é refletir sobre como a escola pode acolher as diferenças, respeitar as singularidades e transformar barreiras em oportunidades de aprendizagem.\r\nConteúdos abordados:\r\nDiferença entre integração e inclusão.\r\nDiversidade como valor e princípio pedagógico.\r\nBarreiras atitudinais, pedagógicas e estruturais que dificultam a participação plena dos estudantes.\r\nInclusão escolar como garantia de direitos e promoção da equidade.\r\nAtividades propostas:\r\nLeitura orientada sobre os conceitos de inclusão e diversidade no contexto educacional.\r\nFórum de discussão: “De que forma sua escola lida com a diversidade? Que mudanças você considera necessárias para torná-la mais inclusiva?”\r\nCarga horária estimada: 3h', 'uploads/videos/lessons/video-1758682022778-601058040_processed.mp4', 'uploads/materials/file-1758682229595-715516079.pdf', 300, 3, 'video', NULL, 1, 1, 0, 'uploads/thumbnails/lesson-1758682158870.jpg', '2025-09-23 23:49:18', '2025-09-24 09:09:24'),
(6, 0, 'Plano Educacional Individualizado (PEI)', 'Esta aula tem como objetivo apresentar o Plano Educacional Individualizado (PEI) como um instrumento essencial para o acompanhamento pedagógico de estudantes com deficiência, transtornos do desenvolvimento e altas habilidades/superdotação. O PEI é um documento construído de forma colaborativa entre professores, equipe pedagógica, família e, quando possível, o próprio estudante, a fim de garantir estratégias que favoreçam sua aprendizagem e participação plena na escola.\r\nConteúdos abordados:\r\nO que é o PEI e qual sua finalidade.\r\nEstrutura e elementos fundamentais do documento (objetivos, estratégias, recursos, formas de avaliação).\r\nO papel do professor regente e do AEE na elaboração e acompanhamento.\r\nExemplos práticos de adaptação curricular e metodológica via PEI.\r\nAtividades propostas:\r\nLeitura orientada sobre a importância e o funcionamento do PEI.\r\nEstudo de caso: analisar um perfil fictício de aluno e propor um esboço de PEI.\r\nFórum de reflexão: “Quais são os principais desafios para implementar o PEI em sua realidade escolar?”\r\nCarga horária estimada: 5h', 'uploads/videos/lessons/video-1758682326460-42358676_processed.mp4', NULL, 120, 4, 'video', NULL, 1, 1, 0, 'uploads/thumbnails/lesson-1758682453780.jpg', '2025-09-23 23:54:13', '2025-09-24 09:09:09'),
(7, 0, 'Flexibilização Curricular', 'Nesta aula, os participantes vão compreender a flexibilização curricular como estratégia fundamental para garantir o direito à aprendizagem de todos os estudantes, respeitando suas singularidades sem perder de vista os objetivos da educação. Diferente de uma “redução” ou “simplificação” do conteúdo, a flexibilização curricular envolve pensar em adaptações de objetivos, metodologias, recursos e formas de avaliação, de modo que cada aluno tenha condições reais de participar e avançar no processo educativo.\r\nConteúdos abordados:\r\nO que é e o que não é flexibilização curricular.\r\nRelação entre currículo oficial, adaptações curriculares e PEI.\r\nEstratégias de flexibilização em diferentes áreas do conhecimento.\r\nA importância da avaliação inclusiva no processo.\r\nAtividades propostas:\r\nLeitura orientada: texto sobre fundamentos e práticas de flexibilização curricular.\r\nExercício prático: propor adaptações em uma atividade ou sequência didática de sua disciplina para atender estudantes com diferentes necessidades a partir do Assistente IA.\r\nResponder: “Quais barreiras você identifica em sua escola para a aplicação da flexibilização curricular?”\r\nCarga horária estimada: 4h', 'uploads/videos/lessons/video-1758682599152-222469140_processed.mp4', NULL, 120, 5, 'video', NULL, 1, 1, 0, 'uploads/thumbnails/lesson-7-1758682714585.jpg', '2025-09-23 23:56:14', '2025-09-23 23:59:37');

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

--
-- Estrutura para tabela `materials`
--

CREATE TABLE `materials` (
  `id` int NOT NULL,
  `course_id` int NOT NULL,
  `title` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
  `description` text COLLATE utf8mb4_general_ci,
  `type` enum('pdf','slides','document','ebook') COLLATE utf8mb4_general_ci DEFAULT 'pdf',
  `file_path` varchar(500) COLLATE utf8mb4_general_ci NOT NULL,
  `file_size` bigint DEFAULT NULL,
  `total_pages` int DEFAULT '0',
  `thumbnail` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `download_count` int DEFAULT '0',
  `view_count` int DEFAULT '0',
  `order` int DEFAULT '0',
  `is_downloadable` tinyint(1) DEFAULT '1',
  `is_public` tinyint(1) DEFAULT '0',
  `active` tinyint(1) DEFAULT '1',
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Estrutura para tabela `messages`
--

CREATE TABLE `messages` (
  `id` int NOT NULL,
  `conversation_id` int NOT NULL,
  `sender_id` int NOT NULL,
  `message_type` enum('text','image','file','audio') COLLATE utf8mb4_general_ci DEFAULT 'text',
  `content` text COLLATE utf8mb4_general_ci NOT NULL,
  `file_url` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `file_name` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `file_size` int DEFAULT NULL,
  `reply_to` int DEFAULT NULL,
  `edited` tinyint(1) DEFAULT '0',
  `edited_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Mensagens das conversas';

--
-- Despejando dados para a tabela `messages`
--

INSERT INTO `messages` (`id`, `conversation_id`, `sender_id`, `message_type`, `content`, `file_url`, `file_name`, `file_size`, `reply_to`, `edited`, `edited_at`, `created_at`) VALUES
(0, 1, 11, 'text', 'oi', NULL, NULL, NULL, NULL, 0, NULL, '2025-08-31 22:14:22'),
(0, 1, 11, 'text', 'Teste', NULL, NULL, NULL, NULL, 0, NULL, '2025-08-31 22:17:18'),
(1, 1, 11, 'text', 'Teste', NULL, NULL, NULL, NULL, 0, NULL, '2025-08-31 22:19:50'),
(2, 1, 11, 'text', 'Olá', NULL, NULL, NULL, NULL, 0, NULL, '2025-08-31 22:19:57'),
(3, 1, 11, 'text', 'teste', NULL, NULL, NULL, NULL, 0, NULL, '2025-08-31 22:20:05'),
(4, 1, 11, 'text', 'oi', NULL, NULL, NULL, NULL, 0, NULL, '2025-08-31 22:24:41'),
(5, 1, 11, 'text', 'Teste 2 de mensagem, testando socket.io', NULL, NULL, NULL, NULL, 0, NULL, '2025-08-31 22:27:24'),
(6, 1, 11, 'text', 'Teste do socket io', NULL, NULL, NULL, NULL, 0, NULL, '2025-08-31 22:30:07'),
(7, 1, 12, 'text', 'Olá teste de socket', NULL, NULL, NULL, NULL, 0, NULL, '2025-09-01 00:47:33'),
(8, 1, 11, 'text', 'teste', NULL, NULL, NULL, NULL, 0, NULL, '2025-09-01 01:05:47'),
(9, 1, 11, 'text', 'Sistema testado e completo', NULL, NULL, NULL, NULL, 0, NULL, '2025-09-01 01:27:47'),
(12, 8, 14, 'text', 'Olá, pessoal! Tudo bem?', NULL, NULL, NULL, NULL, 0, NULL, '2025-09-21 21:50:59'),
(13, 8, 14, 'text', 'Criei esse grupo para informações e trocas sobre o processo de formação e introdução do PEI.', NULL, NULL, NULL, NULL, 0, NULL, '2025-09-21 21:52:22'),
(22, 9, 11, 'text', 'Bom dia', NULL, NULL, NULL, NULL, 0, NULL, '2025-09-22 11:41:03'),
(23, 9, 11, 'text', 'Teste', NULL, NULL, NULL, NULL, 0, NULL, '2025-09-22 11:41:18'),
(24, 9, 11, 'text', 'Resolvido, Não encontrei nenhum erro com relação a envio de documentos, porem encontrei outro erro em uma função .js que foi corrigida', NULL, NULL, NULL, NULL, 0, NULL, '2025-09-22 11:43:04'),
(25, 9, 11, 'file', 'Arquivo: Encontro 1_Formacao_Educacao_Inclusiva_compressed-72.pdf', '/uploads/documents/1758542408137-364841490.pdf', 'Encontro 1_Formacao_Educacao_Inclusiva_compressed-72.pdf', 1054415, NULL, 0, NULL, '2025-09-22 12:00:08'),
(26, 9, 11, 'file', 'Arquivo: undefined', '/uploads/documents/1758542408137-364841490.pdf', NULL, NULL, NULL, 0, NULL, '2025-09-22 12:00:08'),
(27, 9, 14, 'text', 'chegou', NULL, NULL, NULL, NULL, 0, NULL, '2025-09-22 12:01:31'),
(28, 9, 11, 'text', 'É o mesmo arquivo', NULL, NULL, NULL, NULL, 0, NULL, '2025-09-22 12:01:44'),
(29, 9, 14, 'text', 'sim, o mesmo', NULL, NULL, NULL, NULL, 0, NULL, '2025-09-22 12:01:51'),
(30, 9, 11, 'text', 'Pode abrir, o anydesk e me mostrar aquele numero?', NULL, NULL, NULL, NULL, 0, NULL, '2025-09-22 12:02:09'),
(31, 9, 11, 'text', 'cola ele para mim que vou entrar remoto para ver o erro', NULL, NULL, NULL, NULL, 0, NULL, '2025-09-22 12:02:26'),
(32, 9, 14, 'text', '1056289150', NULL, NULL, NULL, NULL, 0, NULL, '2025-09-22 12:03:56'),
(33, 9, 11, 'image', 'Arquivo: LOGO SEMANA DO CONSUMIDOR.png', '/uploads/images/1758543678755-569576252.png', 'LOGO SEMANA DO CONSUMIDOR.png', 1523077, NULL, 0, NULL, '2025-09-22 12:21:18'),
(34, 9, 11, 'file', 'Arquivo: undefined', '/uploads/images/1758543678755-569576252.png', NULL, NULL, NULL, 0, NULL, '2025-09-22 12:21:18'),
(36, 9, 11, 'audio', 'Mensagem de áudio', '/uploads/audio/1758543984714-718435084.wav', NULL, NULL, NULL, 0, NULL, '2025-09-22 12:26:24'),
(37, 8, 14, 'file', 'Arquivo: Encontro 1_Formacao_Educacao_Inclusiva_compressed.pdf', '/uploads/documents/1758552445424-768129149.pdf', 'Encontro 1_Formacao_Educacao_Inclusiva_compressed.pdf', 1054415, NULL, 0, NULL, '2025-09-22 14:47:25'),
(39, 8, 14, 'text', 'Bom dia!! Encaminho os slides da nossa primeira aula presencial. Amanhã tem novo módulo on-line e na quarta-feira nosso 2º encontro presencial. Aguardo vocês!!!', NULL, NULL, NULL, NULL, 1, '2025-09-22 14:49:05', '2025-09-22 14:48:30'),
(40, 9, 11, 'text', 'Teste', NULL, NULL, NULL, NULL, 0, NULL, '2025-09-22 23:15:35'),
(41, 8, 25, 'text', 'Boa noite', NULL, NULL, NULL, NULL, 0, NULL, '2025-09-24 21:38:31'),
(42, 8, 14, 'text', 'Bom dia!! Como vocês estão? Aguardo todos vocês no nosso módulo 1 do curso!', NULL, NULL, NULL, NULL, 0, NULL, '2025-10-01 13:02:47'),
(43, 8, 14, 'text', 'https://cursos.sistemaluminar.com.br:3443/curso/caminhos-da-inclusao-da-teoria-a-pratica-no-cotidiano-escolar-1758656698456', NULL, NULL, NULL, NULL, 0, NULL, '2025-10-01 13:02:52');

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

--
-- Estrutura para tabela `modules`
--

CREATE TABLE `modules` (
  `id` int NOT NULL,
  `course_id` int NOT NULL,
  `title` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
  `description` text COLLATE utf8mb4_general_ci,
  `order` int DEFAULT '0',
  `is_published` tinyint(1) DEFAULT '0',
  `total_lessons` int DEFAULT '0',
  `total_duration` int DEFAULT '0' COMMENT 'Duração total em segundos',
  `created_at` datetime NOT NULL,
  `updated_at` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Despejando dados para a tabela `modules`
--

INSERT INTO `modules` (`id`, `course_id`, `title`, `description`, `order`, `is_published`, `total_lessons`, `total_duration`, `created_at`, `updated_at`) VALUES
(0, 4, 'Fundamentos da Inclusão', 'No primeiro módulo do curso, os participantes serão introduzidos aos conceitos e fundamentos da educação inclusiva, compreendendo seu marco legal e a relevância da diversidade no ambiente escolar. O objetivo é estabelecer uma base sólida para os estudos seguintes, permitindo que cada cursista reconheça os princípios que sustentam a inclusão e reflita sobre sua aplicação prática no cotidiano educacional.\nConteúdos abordados:\nMarco legal da educação inclusiva: LDB, Convenção sobre os Direitos das Pessoas com Deficiência, Política Nacional e legislações complementares.\nInclusão, integração, acessibilidade e equidade: conceitos-chave.\nA diversidade escolar como potencial e desafio.\nAtividades da semana:\nLeitura orientada de textos e legislações de referência.\nVídeo introdutório sobre diversidade e inclusão.\nFórum de discussão: “Quais barreiras à inclusão você identifica em sua escola ou contexto profissional?”.\nCarga horária estimada: 8 horas.', 1, 1, 5, 900, '2025-09-23 23:31:27', '2025-09-24 09:09:38'),
(0, 4, 'Fundamentos da Inclusão', 'No primeiro módulo do curso, os participantes serão introduzidos aos conceitos e fundamentos da educação inclusiva, compreendendo seu marco legal e a relevância da diversidade no ambiente escolar. O objetivo é estabelecer uma base sólida para os estudos seguintes, permitindo que cada cursista reconheça os princípios que sustentam a inclusão e reflita sobre sua aplicação prática no cotidiano educacional.\nConteúdos abordados:\nMarco legal da educação inclusiva: LDB, Convenção sobre os Direitos das Pessoas com Deficiência, Política Nacional e legislações complementares.\nInclusão, integração, acessibilidade e equidade: conceitos-chave.\nA diversidade escolar como potencial e desafio.\nAtividades da semana:\nLeitura orientada de textos e legislações de referência.\nVídeo introdutório sobre diversidade e inclusão.\nFórum de discussão: “Quais barreiras à inclusão você identifica em sua escola ou contexto profissional?”.\nCarga horária estimada: 8 horas.', 1, 1, 5, 900, '2025-09-23 23:31:43', '2025-09-24 09:09:38'),
(0, 4, 'Fundamentos da Inclusão', 'No primeiro módulo do curso, os participantes serão introduzidos aos conceitos e fundamentos da educação inclusiva, compreendendo seu marco legal e a relevância da diversidade no ambiente escolar. O objetivo é estabelecer uma base sólida para os estudos seguintes, permitindo que cada cursista reconheça os princípios que sustentam a inclusão e reflita sobre sua aplicação prática no cotidiano educacional.\nConteúdos abordados:\nMarco legal da educação inclusiva: LDB, Convenção sobre os Direitos das Pessoas com Deficiência, Política Nacional e legislações complementares.\nInclusão, integração, acessibilidade e equidade: conceitos-chave.\nA diversidade escolar como potencial e desafio.\nAtividades da semana:\nLeitura orientada de textos e legislações de referência.\nVídeo introdutório sobre diversidade e inclusão.\nFórum de discussão: “Quais barreiras à inclusão você identifica em sua escola ou contexto profissional?”.\nCarga horária estimada: 8 horas.', 1, 1, 5, 900, '2025-09-23 23:32:04', '2025-09-24 09:09:38'),
(0, 4, 'Fundamentos da Inclusão', 'No primeiro módulo do curso, os participantes serão introduzidos aos conceitos e fundamentos da educação inclusiva, compreendendo seu marco legal e a relevância da diversidade no ambiente escolar. O objetivo é estabelecer uma base sólida para os estudos seguintes, permitindo que cada cursista reconheça os princípios que sustentam a inclusão e reflita sobre sua aplicação prática no cotidiano educacional.\nConteúdos abordados:\nMarco legal da educação inclusiva: LDB, Convenção sobre os Direitos das Pessoas com Deficiência, Política Nacional e legislações complementares.\nInclusão, integração, acessibilidade e equidade: conceitos-chave.\nA diversidade escolar como potencial e desafio.\nAtividades da semana:\nLeitura orientada de textos e legislações de referência.\nVídeo introdutório sobre diversidade e inclusão.\nFórum de discussão: “Quais barreiras à inclusão você identifica em sua escola ou contexto profissional?”.\nCarga horária estimada: 8 horas.', 1, 1, 5, 900, '2025-09-23 23:33:25', '2025-09-24 09:09:38'),
(0, 4, 'Fundamentos da Inclusão', 'No primeiro módulo do curso, os participantes serão introduzidos aos conceitos e fundamentos da educação inclusiva, compreendendo seu marco legal e a relevância da diversidade no ambiente escolar. O objetivo é estabelecer uma base sólida para os estudos seguintes, permitindo que cada cursista reconheça os princípios que sustentam a inclusão e reflita sobre sua aplicação prática no cotidiano educacional.\nConteúdos abordados:\nMarco legal da educação inclusiva: LDB, Convenção sobre os Direitos das Pessoas com Deficiência, Política Nacional e legislações complementares.\nInclusão, integração, acessibilidade e equidade: conceitos-chave.\nA diversidade escolar como potencial e desafio.\nAtividades da semana:\nLeitura orientada de textos e legislações de referência.\nVídeo introdutório sobre diversidade e inclusão.\nFórum de discussão: “Quais barreiras à inclusão você identifica em sua escola ou contexto profissional?”.\nCarga horária estimada: 8 horas.', 1, 1, 5, 900, '2025-09-23 23:37:13', '2025-09-24 09:09:38'),
(0, 4, 'Fundamentos da Inclusão', 'No primeiro módulo do curso, os participantes serão introduzidos aos conceitos e fundamentos da educação inclusiva, compreendendo seu marco legal e a relevância da diversidade no ambiente escolar. O objetivo é estabelecer uma base sólida para os estudos seguintes, permitindo que cada cursista reconheça os princípios que sustentam a inclusão e reflita sobre sua aplicação prática no cotidiano educacional.\nConteúdos abordados:\nMarco legal da educação inclusiva: LDB, Convenção sobre os Direitos das Pessoas com Deficiência, Política Nacional e legislações complementares.\nInclusão, integração, acessibilidade e equidade: conceitos-chave.\nA diversidade escolar como potencial e desafio.\nAtividades da semana:\nLeitura orientada de textos e legislações de referência.\nVídeo introdutório sobre diversidade e inclusão.\nFórum de discussão: “Quais barreiras à inclusão você identifica em sua escola ou contexto profissional?”.\nCarga horária estimada: 8 horas.', 1, 1, 0, 0, '2025-09-24 09:10:05', '2025-09-24 09:10:05'),
(0, 4, 'Fundamentos da Inclusão', 'No primeiro módulo do curso, os participantes serão introduzidos aos conceitos e fundamentos da educação inclusiva, compreendendo seu marco legal e a relevância da diversidade no ambiente escolar. O objetivo é estabelecer uma base sólida para os estudos seguintes, permitindo que cada cursista reconheça os princípios que sustentam a inclusão e reflita sobre sua aplicação prática no cotidiano educacional.\nConteúdos abordados:\nMarco legal da educação inclusiva: LDB, Convenção sobre os Direitos das Pessoas com Deficiência, Política Nacional e legislações complementares.\nInclusão, integração, acessibilidade e equidade: conceitos-chave.\nA diversidade escolar como potencial e desafio.\nAtividades da semana:\nLeitura orientada de textos e legislações de referência.\nVídeo introdutório sobre diversidade e inclusão.\nFórum de discussão: “Quais barreiras à inclusão você identifica em sua escola ou contexto profissional?”.\nCarga horária estimada: 8 horas.', 1, 1, 0, 0, '2025-09-24 09:12:59', '2025-09-24 09:12:59');

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

--
-- Estrutura para tabela `observacoes`
--

CREATE TABLE `observacoes` (
  `id` int NOT NULL,
  `student_id` int NOT NULL,
  `teacher_id` int NOT NULL,
  `data_observacao` datetime NOT NULL,
  `tipo_observacao` enum('pedagogica','comportamental','social','comunicativa','motora') COLLATE utf8mb4_general_ci NOT NULL,
  `conteudo` text COLLATE utf8mb4_general_ci NOT NULL,
  `relevancia` enum('baixa','media','alta') COLLATE utf8mb4_general_ci DEFAULT 'media',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

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

--
-- Estrutura para tabela `popular_courses`
--

CREATE TABLE `popular_courses` (
  `id` int DEFAULT NULL,
  `title` varchar(255) DEFAULT NULL,
  `slug` varchar(255) DEFAULT NULL,
  `description` text,
  `short_description` varchar(500) DEFAULT NULL,
  `instructor_id` int DEFAULT NULL,
  `thumbnail` varchar(500) DEFAULT NULL,
  `video_url` varchar(500) DEFAULT NULL,
  `video_duration` int DEFAULT NULL,
  `level` enum('beginner','intermediate','advanced') DEFAULT NULL,
  `category` varchar(100) DEFAULT NULL,
  `tags` longtext,
  `price` decimal(10,2) DEFAULT NULL,
  `is_free` tinyint(1) DEFAULT NULL,
  `is_featured` tinyint(1) DEFAULT NULL,
  `total_enrollments` int DEFAULT NULL,
  `rating` decimal(3,2) DEFAULT NULL,
  `total_ratings` int DEFAULT NULL,
  `active` tinyint(1) DEFAULT NULL,
  `published_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `instructor_name` varchar(255) DEFAULT NULL,
  `enrollment_count` bigint DEFAULT NULL,
  `avg_rating` decimal(14,4) DEFAULT NULL,
  `review_count` bigint DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

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

--
-- Estrutura para tabela `reviews`
--

CREATE TABLE `reviews` (
  `id` int NOT NULL,
  `user_id` int NOT NULL,
  `course_id` int NOT NULL,
  `rating` int NOT NULL,
  `comment` text COLLATE utf8mb4_general_ci,
  `helpful_count` int DEFAULT '0',
  `active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ;

--
-- Acionadores `reviews`
--
DELIMITER $$
CREATE TRIGGER `update_course_rating_after_review_insert` AFTER INSERT ON `reviews` FOR EACH ROW BEGIN
    UPDATE courses c
    SET 
        rating = (
            SELECT AVG(rating) FROM reviews 
            WHERE course_id = NEW.course_id AND active = true
        ),
        total_ratings = (
            SELECT COUNT(*) FROM reviews 
            WHERE course_id = NEW.course_id AND active = true
        )
    WHERE c.id = NEW.course_id;
END
$$
DELIMITER ;
DELIMITER $$
CREATE TRIGGER `update_course_rating_after_review_update` AFTER UPDATE ON `reviews` FOR EACH ROW BEGIN
    UPDATE courses c
    SET 
        rating = (
            SELECT AVG(rating) FROM reviews 
            WHERE course_id = NEW.course_id AND active = true
        ),
        total_ratings = (
            SELECT COUNT(*) FROM reviews 
            WHERE course_id = NEW.course_id AND active = true
        )
    WHERE c.id = NEW.course_id;
END
$$
DELIMITER ;

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

--
-- Estrutura para tabela `role_permissions`
--

CREATE TABLE `role_permissions` (
  `id` int NOT NULL,
  `role_code` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
  `permission_code` varchar(100) COLLATE utf8mb4_general_ci NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Permissões associadas a cada papel';

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

--
-- Estrutura para tabela `schools`
--

CREATE TABLE `schools` (
  `id` int NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
  `slug` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
  `address` text COLLATE utf8mb4_general_ci,
  `phone` varchar(20) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `email` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `director_name` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `logo` varchar(500) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `active` tinyint(1) DEFAULT '1',
  `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 COMMENT='Tabela de escolas do sistema';

--
-- Despejando dados para a tabela `schools`
--

INSERT INTO `schools` (`id`, `name`, `slug`, `address`, `phone`, `email`, `director_name`, `logo`, `active`, `created_at`, `updated_at`) VALUES
(1, 'Escola Inclusiva Demo', 'escola-inclusiva-demo', 'Rua da Educação, 123 - Centro', NULL, NULL, 'Maria Educadora', NULL, 1, '2025-06-25 17:48:27', '2025-06-25 17:48:27');

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

--
-- Estrutura para tabela `school_users`
--

CREATE TABLE `school_users` (
  `id` int DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  `email` varchar(255) DEFAULT NULL,
  `role` enum('admin','professor','student','parent','director','coordinator','driver') DEFAULT NULL,
  `avatar` varchar(500) DEFAULT NULL,
  `whatsapp` varchar(20) DEFAULT NULL,
  `active` tinyint(1) DEFAULT NULL,
  `school_id` int DEFAULT NULL,
  `school_name` varchar(255) DEFAULT NULL,
  `position` varchar(100) DEFAULT NULL,
  `role_display` varchar(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

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

--
-- Estrutura para tabela `students`
--

CREATE TABLE `students` (
  `id` int NOT NULL,
  `name` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
  `school_id` int NOT NULL,
  `parent_id` int NOT NULL,
  `class_room` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `special_needs` text COLLATE utf8mb4_general_ci,
  `birth_date` date DEFAULT NULL,
  `active` tinyint(1) DEFAULT '1',
  `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 COMMENT='Tabela de alunos (conecta pais às escolas)';

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

--
-- Estrutura para tabela `system_permissions`
--

CREATE TABLE `system_permissions` (
  `id` int NOT NULL,
  `permission_code` varchar(100) COLLATE utf8mb4_general_ci NOT NULL,
  `permission_name` varchar(150) COLLATE utf8mb4_general_ci NOT NULL,
  `description` text COLLATE utf8mb4_general_ci,
  `system_module` enum('courses','school_communication','tea_assistant','unified') COLLATE utf8mb4_general_ci NOT NULL,
  `resource` varchar(100) COLLATE utf8mb4_general_ci NOT NULL COMMENT 'Recurso que a permissão afeta',
  `action` enum('create','read','update','delete','execute','admin') COLLATE utf8mb4_general_ci NOT NULL,
  `level` enum('own','school','system') COLLATE utf8mb4_general_ci DEFAULT 'own' COMMENT 'Escopo da permissão',
  `active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Permissões granulares do sistema';

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

--
-- Estrutura para tabela `system_roles`
--

CREATE TABLE `system_roles` (
  `id` int NOT NULL,
  `role_code` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
  `role_name` varchar(100) COLLATE utf8mb4_general_ci NOT NULL,
  `description` text COLLATE utf8mb4_general_ci,
  `system_module` enum('courses','school_communication','tea_assistant','unified') COLLATE utf8mb4_general_ci NOT NULL,
  `permissions` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
  `is_default` tinyint(1) DEFAULT '0',
  `active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ;

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

--
-- Estrutura para tabela `tea_aee`
--

CREATE TABLE `tea_aee` (
  `id` int NOT NULL,
  `student_id` int NOT NULL,
  `objetivo` text COLLATE utf8mb4_general_ci,
  `areas_trabalho` json DEFAULT NULL,
  `frequencia` varchar(20) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Despejando dados para a tabela `tea_aee`
--

INSERT INTO `tea_aee` (`id`, `student_id`, `objetivo`, `areas_trabalho`, `frequencia`, `created_at`, `updated_at`) VALUES
(4, 8, 'João Lucas teste', '[\"Organização e rotina\", \"Raciocínio lógico\", \"Habilidades motoras\"]', '2x semana', '2025-12-05 12:46:44', '2025-12-05 12:46:44');

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

--
-- Estrutura para tabela `tea_apoio_escolar`
--

CREATE TABLE `tea_apoio_escolar` (
  `id` int NOT NULL,
  `student_id` int NOT NULL,
  `objetivo` text COLLATE utf8mb4_general_ci,
  `atribuicoes` json DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Despejando dados para a tabela `tea_apoio_escolar`
--

INSERT INTO `tea_apoio_escolar` (`id`, `student_id`, `objetivo`, `atribuicoes`, `created_at`, `updated_at`) VALUES
(6, 8, 'João Lucas teste', '[\"Organização da rotina\", \"Mediação da comunicação\", \"Apoio na realização de atividades motoras\", \"Facilitação da interação social\"]', '2025-12-05 12:46:44', '2025-12-05 12:46:44');

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

--
-- Estrutura para tabela `tea_barreiras`
--

CREATE TABLE `tea_barreiras` (
  `id` int NOT NULL,
  `student_id` int NOT NULL,
  `tipo` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
  `descricao` text COLLATE utf8mb4_general_ci NOT NULL,
  `marcada` tinyint(1) DEFAULT '0',
  `data_marcacao` datetime DEFAULT NULL,
  `marcado_por` int DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Despejando dados para a tabela `tea_barreiras`
--

INSERT INTO `tea_barreiras` (`id`, `student_id`, `tipo`, `descricao`, `marcada`, `data_marcacao`, `marcado_por`, `created_at`, `updated_at`) VALUES
(85, 8, 'pedagogicas', 'Ritmo de aula acelerado ou pouco flexível', 1, '2025-12-05 09:46:44', 11, '2025-12-05 12:46:44', '2025-12-05 12:46:44'),
(86, 8, 'pedagogicas', 'Atividades extensas sem possibilidade de adaptação', 1, '2025-12-05 09:46:44', 11, '2025-12-05 12:46:44', '2025-12-05 12:46:44'),
(87, 8, 'pedagogicas', 'Ausência de estratégias alternativas (TEACCH, ABA, multissensorial)', 1, '2025-12-05 09:46:44', 11, '2025-12-05 12:46:44', '2025-12-05 12:46:44'),
(88, 8, 'comunicacionais', 'Pouco uso de imagens, símbolos ou comunicação alternativa', 1, '2025-12-05 09:46:44', 11, '2025-12-05 12:46:44', '2025-12-05 12:46:44'),
(89, 8, 'comunicacionais', 'Dificuldade do aluno para expressar necessidades', 1, '2025-12-05 09:46:44', 11, '2025-12-05 12:46:44', '2025-12-05 12:46:44'),
(90, 8, 'comunicacionais', 'Falta de recursos de comunicação aumentativa/alternativa (CAA)', 1, '2025-12-05 09:46:44', 11, '2025-12-05 12:46:44', '2025-12-05 12:46:44'),
(91, 8, 'atitudinais', 'Impaciência em momentos de desregulação', 1, '2025-12-05 09:46:44', 11, '2025-12-05 12:46:44', '2025-12-05 12:46:44'),
(92, 8, 'atitudinais', 'Falta de acolhimento às necessidades sensoriais', 1, '2025-12-05 09:46:44', 11, '2025-12-05 12:46:44', '2025-12-05 12:46:44'),
(93, 8, 'atitudinais', 'Interação limitada entre colegas e o aluno', 1, '2025-12-05 09:46:44', 11, '2025-12-05 12:46:44', '2025-12-05 12:46:44'),
(94, 8, 'fisicas_arquitetonicas', 'Sala com excesso de estímulos visuais', 1, '2025-12-05 09:46:44', 11, '2025-12-05 12:46:44', '2025-12-05 12:46:44'),
(95, 8, 'fisicas_arquitetonicas', 'Circulação difícil (cadeiras, mochilas, mesas)', 1, '2025-12-05 09:46:44', 11, '2025-12-05 12:46:44', '2025-12-05 12:46:44'),
(96, 8, 'fisicas_arquitetonicas', 'Espaço sem área de regulação sensorial', 1, '2025-12-05 09:46:44', 11, '2025-12-05 12:46:44', '2025-12-05 12:46:44'),
(97, 8, 'tecnologicas', 'Necessidade de softwares de apoio que não estão disponíveis', 1, '2025-12-05 09:46:44', 11, '2025-12-05 12:46:44', '2025-12-05 12:46:44'),
(98, 8, 'tecnologicas', 'Falta de tablet, chromebook ou dispositivos adequados', 1, '2025-12-05 09:46:44', 11, '2025-12-05 12:46:44', '2025-12-05 12:46:44'),
(99, 8, 'tecnologicas', 'Dificuldade do aluno em interagir com o recurso atual', 1, '2025-12-05 09:46:44', 11, '2025-12-05 12:46:44', '2025-12-05 12:46:44'),
(100, 9, 'pedagogicas', 'Dificuldade de compreensão das instruções orais', 1, '2025-12-05 16:03:56', 14, '2025-12-05 19:03:56', '2025-12-05 19:03:56'),
(101, 9, 'pedagogicas', 'Necessidade de instruções segmentadas', 1, '2025-12-05 16:03:56', 14, '2025-12-05 19:03:56', '2025-12-05 19:03:56'),
(102, 9, 'pedagogicas', 'Falta de modelos visuais / pistas visuais', 1, '2025-12-05 16:03:56', 14, '2025-12-05 19:03:56', '2025-12-05 19:03:56'),
(103, 9, 'pedagogicas', 'Ausência de estratégias alternativas (TEACCH, ABA, multissensorial)', 1, '2025-12-05 16:03:56', 14, '2025-12-05 19:03:56', '2025-12-05 19:03:56'),
(104, 9, 'comunicacionais', 'O aluno não compreende bem instruções orais', 1, '2025-12-05 16:03:56', 14, '2025-12-05 19:03:56', '2025-12-05 19:03:56'),
(105, 9, 'comunicacionais', 'Falta de antecipação visual das rotinas', 1, '2025-12-05 16:03:56', 14, '2025-12-05 19:03:56', '2025-12-05 19:03:56'),
(106, 9, 'atitudinais', 'Interação limitada entre colegas e o aluno', 1, '2025-12-05 16:03:56', 14, '2025-12-05 19:03:56', '2025-12-05 19:03:56'),
(107, 9, 'fisicas_arquitetonicas', 'Ruídos intensos que prejudicam concentração', 1, '2025-12-05 16:03:56', 14, '2025-12-05 19:03:56', '2025-12-05 19:03:56'),
(108, 9, 'fisicas_arquitetonicas', 'Espaço sem área de regulação sensorial', 1, '2025-12-05 16:03:56', 14, '2025-12-05 19:03:56', '2025-12-05 19:03:56'),
(109, 9, 'tecnologicas', 'Ausência de recursos digitais acessíveis', 1, '2025-12-05 16:03:56', 14, '2025-12-05 19:03:56', '2025-12-05 19:03:56'),
(110, 9, 'tecnologicas', 'Necessidade de softwares de apoio que não estão disponíveis', 1, '2025-12-05 16:03:56', 14, '2025-12-05 19:03:56', '2025-12-05 19:03:56'),
(111, 9, 'tecnologicas', 'Falta de tablet, chromebook ou dispositivos adequados', 1, '2025-12-05 16:03:56', 14, '2025-12-05 19:03:56', '2025-12-05 19:03:56');

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

--
-- Estrutura para tabela `tea_chat_historico`
--

CREATE TABLE `tea_chat_historico` (
  `id` int NOT NULL,
  `user_id` int NOT NULL COMMENT 'Usuário que fez a pergunta',
  `student_id` int DEFAULT NULL COMMENT 'Aluno relacionado (opcional)',
  `school_id` int NOT NULL COMMENT 'Escola do contexto',
  `pergunta` text COLLATE utf8mb4_general_ci NOT NULL,
  `resposta` text COLLATE utf8mb4_general_ci NOT NULL,
  `contexto_utilizado` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'Dados do aluno usados como contexto',
  `fonte_resposta` enum('openai','simulada','especialista') COLLATE utf8mb4_general_ci DEFAULT 'simulada',
  `categoria` enum('pedagogica','comportamental','social','comunicativa','geral') COLLATE utf8mb4_general_ci DEFAULT 'geral',
  `avaliacao_resposta` enum('muito_util','util','parcialmente_util','nao_util') COLLATE utf8mb4_general_ci DEFAULT NULL,
  `feedback` text COLLATE utf8mb4_general_ci COMMENT 'Feedback do usuário',
  `compartilhada` tinyint(1) DEFAULT '0' COMMENT 'Se pode ser vista por outros',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ;

--
-- Despejando dados para a tabela `tea_chat_historico`
--

INSERT INTO `tea_chat_historico` (`id`, `user_id`, `student_id`, `school_id`, `pergunta`, `resposta`, `contexto_utilizado`, `fonte_resposta`, `categoria`, `avaliacao_resposta`, `feedback`, `compartilhada`, `created_at`) VALUES
(0, 0, NULL, 1, 'gere o plano de desenvolvimento individual da aluna com base nas observações e me sugira atividades adaptadas para o primeiro semestre', 'Compreendo sua situação e sei que montar um Plano de Desenvolvimento Individual (PDI) para um aluno com TEA pode ser um desafio. Mas não se preocupe, tenho algumas sugestões que podem ajudar.\n\n1. **Acolhimento Empático:**\n   Primeiro, lembre-se que cada criança com TEA é única, com suas próprias forças e desafios. Portanto, um bom PDI começa com uma observação cuidadosa da sua aluna para entender suas habilidades, áreas de crescimento e interesses.\n\n2. **Estratégia Principal Detalhada:**\n   O PDI deve ser dividido em áreas de foco, como habilidades sociais, comunicação, comportamento, habilidades acadêmicas e habilidades de vida diária. Defina metas específicas, mensuráveis, alcançáveis, relevantes e com tempo determinado (SMART) para cada área de foco.\n\n   Por exemplo, na área de comunicação, se a aluna apresenta dificuldade em expressar suas necessidades, a meta pode ser: \"A aluna irá comunicar suas necessidades básicas usando PECS (Picture Exchange Communication System) de maneira independente em 4 de 5 oportunidades até o final do primeiro semestre\".\n\n3. **Exemplo Prático de Aplicação:**\n   Para alcançar essa meta, você pode realizar atividades simples e práticas como:\n   - Crie um álbum de PECS com imagens de itens e atividades do dia a dia.\n   - Durante o dia, incentive a aluna a usar o álbum para expressar suas necessidades. Por exemplo, se ela estiver com sede, oriente-a a mostrar a imagem de um copo de água.\n   - Reforce positivamente cada tentativa bem-sucedida de comunicação usando PECS, mesmo que não seja perfeita.\n\n4. **Dicas Extras:**\n   - Lembre-se de adaptar as atividades acadêmicas ao nível de habilidade da aluna. Use materiais visuais, experimentos práticos e integre os interesses dela sempre que possível para aumentar a motivação e o engajamento.\n   - Estabeleça uma rotina diária clara e use auxílios visuais para ajudar na transição entre as atividades.\n   - Trabalhe em estreita colaboração com a família da aluna para garantir a consistência e a generalização das habilidades aprendidas na escola para a casa.\n\n5. **Encorajamento Final:**\n   Lembre-se, você está fazendo um grande trabalho ao se concentrar nas necessidades individuais da sua aluna. É um processo e cada pequeno passo conta. Continue perseverando e busque sempre apoio quando necessário. Você não está sozinha nesta jornada!', NULL, 'openai', 'geral', NULL, NULL, 0, '2025-08-29 02:04:13'),
(0, 0, 0, 1, 'Adaptações curriculares para alunos com TEA', 'Olá, professor(a). Compreendo que a situação com a Alice exige algumas adaptações para criar um ambiente de aprendizado confortável e eficaz para ela, levando em conta suas sensibilidades sensoriais. Aqui estão algumas estratégias que eu sugiro:\n\n1. **Adaptações Sensoriais:** Para lidar com a sensibilidade sensorial da Alice, você pode experimentar substituir os materiais que ela não gosta por outros com texturas similares, mas que não a incomodem. Por exemplo, se ela não gosta de massinha, tinta ou areia, você pode tentar usar gelatina, arroz ou macarrão não cozidos para atividades de artes. Eles também proporcionam experiências sensoriais ricas e podem ser mais aceitos por ela. Além disso, para a questão do tênis, converse com a direção da escola para ver se é possível que ela use outro tipo de calçado mais confortável durante as aulas de educação física. \n\n2. **Adaptações Ambientais:** Quanto à sensibilidade à luz forte e ao som alto, sugiro que a sala de aula seja adaptada para proporcionar um ambiente mais confortável para ela. Cortinas mais pesadas ou persianas podem ser utilizadas para diminuir a intensidade da luz. Para o som, é importante garantir que o volume esteja sempre em um nível confortável para Alice. Também seria útil ter um espaço tranquilo para onde ela possa ir quando estiver se sentindo sobrecarregada sensorialmente.\n\n3. **Adaptações Pedagógicas:** Parece que Alice está indo bem academicamente. Mas para evitar comportamentos desafiadores, sugiro que sejam feitas negociações e acordos. Por exemplo, se ela não gosta de determinada atividade, pode-se propor que ela faça essa atividade por um tempo curto, seguido de uma atividade que ela goste. \n\nUm exemplo prático seria: se Alice não gosta de matemática, mas adora leitura, você pode propor que ela faça matemática por 15 minutos e depois leia seu livro favorito por 10 minutos. Isso pode ajudar a diminuir a resistência a atividades menos preferidas.\n\n**Dicas extras:** \n\n1. Use reforço positivo. Sempre que Alice tentar uma nova textura ou realizar uma atividade de que não gosta, dê a ela elogios e recompensas. Isso pode incentivá-la a sair da sua zona de conforto.\n\n2. Mantenha uma comunicação aberta com a família. Eles podem ajudar a reforçar as adaptações em casa, além de fornecer informações valiosas sobre quais estratégias estão funcionando melhor.\n\nLembre-se, cada criança é única e o que funciona para uma pode não funcionar para outra. Portanto, seja paciente e continue tentando diferentes estratégias até encontrar as que melhor se adequam à Alice. Você está fazendo um excelente trabalho ao procurar maneiras de apoiá-la. Continue assim!', NULL, 'openai', 'geral', NULL, NULL, 0, '2025-08-29 02:06:20'),
(0, 0, 0, 1, 'Como posso ajudar uma criança com TEA que tem dificuldade em transições?', 'Olá, colega! Compreendo a sua situação e sei que lidar com transições pode ser um desafio para muitas crianças com TEA, como a Alice. Vamos juntas construir uma estratégia para ajudá-la.\n\n1️⃣ ESTRATÉGIA PRINCIPAL: \nConsiderando o nível de desenvolvimento da Alice, sugiro a utilização de uma combinação de estratégias visuais e de antecipação. Na prática, isso pode significar o uso de um \"Quadro de Rotinas\" e de um método de \"Contagem Regressiva\".\n\n2️⃣ EXEMPLO PRÁTICO DE APLICAÇÃO:\n- Quadro de Rotinas: Você pode criar um quadro com imagens ou fotos que representem cada atividade do dia da Alice. Isso pode incluir momentos como a hora do lanche, as aulas e até as transições. O importante é que ela saiba o que vem em seguida. Lembre-se de colocar as imagens na ordem em que as atividades vão acontecer e de ir removendo ou marcando-as conforme elas forem concluídas.\n \n- Contagem Regressiva: Antes de cada transição, informe a Alice que ela ocorrerá em breve. Use uma contagem regressiva visual ou sonora. Por exemplo, você pode usar um timer visual, ou mesmo dizer \"Alice, em cinco minutos vamos começar a arrumar nossas coisas para a aula de educação física.\".\n\n3️⃣ DICAS EXTRAS:\n- Tente identificar se há algum padrão nos momentos em que a Alice tem mais dificuldade para transitar. Isso pode ajudar a entender se a dificuldade está na transição em si ou na atividade para a qual ela está indo.\n- Considere a possibilidade de incluir atividades sensoriais de regulação nas transições, como um breve momento para respiração profunda ou uma atividade de pressão profunda, que pode ser um abraço apertado ou o uso de um colete de peso.\n- Lembre-se de que a Alice tem sensibilidade a luzes fortes e sons altos, então tente fazer as transições em um ambiente mais tranquilo, sempre que possível.\n\n4️⃣ ENCORAJAMENTO FINAL: \nSei que pode parecer desafiador no início, mas com paciência e persistência, tenho certeza de que você e a Alice encontrarão um caminho para facilitar as transições. Lembre-se de que a regularidade e a previsibilidade são muito importantes para crianças com TEA, e que cada pequena conquista é um grande passo para a independência e a autonomia da Alice. Você está fazendo um grande trabalho!', NULL, 'openai', 'geral', NULL, NULL, 0, '2025-08-29 02:13:08'),
(0, 14, 0, 1, 'Pode me contar mais sobre o aluno?', 'Compreendo a situação do João e sei que pode ser um desafio lidar com essas questões. No entanto, existe uma série de estratégias que podemos utilizar para apoiá-lo e ajudá-lo a se desenvolver.\n\n1. **Estratégia Principal: Comunicação Aumentativa e Alternativa (CAA)**\n   A CAA pode ser uma ferramenta poderosa para apoiar a comunicação do João. Esta abordagem utiliza diversos métodos, incluindo imagens, gestos, sinais, e dispositivos eletrônicos para auxiliar na comunicação. Neste caso, o PECS (Picture Exchange Communication System) pode ser especialmente útil. \n\n   **Exemplo Prático de Aplicação:** \n   Comece introduzindo o PECS em situações do cotidiano. Por exemplo, na hora do lanche, você pode usar cartões de imagens que representem os alimentos disponíveis. Incentive o João a escolher a imagem do alimento que ele deseja comer, e então trocar essa imagem pelo alimento real.\n\n2. **Dicas Extras:**\n   - **Adaptações Curriculares:** Adapte as atividades de aprendizagem para atender às necessidades específicas do João. Isso pode incluir o uso de materiais visuais, atividades práticas e instruções passo a passo.\n   - **Rotinas Estruturadas:** Crianças com autismo geralmente se sentem mais seguras e calmas quando têm rotinas claras e previsíveis. Tente manter uma rotina consistente e use suportes visuais para ajudá-lo a entender o que vai acontecer a seguir.\n   - **Atividades Sensoriais:** Atividades sensoriais podem ajudar o João a se acalmar e se concentrar. Isso pode incluir coisas como brincar com massinha, ouvir música tranquila, ou usar um cobertor ponderado.\n   - **Trabalho em equipe:** Lembre-se de que é importante trabalhar em estreita colaboração com a família do João e com outros profissionais que estejam envolvidos em seu cuidado. Isso pode ajudar a garantir que todos estejam na mesma página e trabalhando juntos para apoiar o João.\n\n3. **Encorajamento Final:**\n   Lembre-se, cada criança é única e o que funciona para uma pode não funcionar para outra. É importante ser paciente e continuar tentando diferentes estratégias até encontrar o que funciona melhor para o João. Você está fazendo um ótimo trabalho e estou confiante de que, com o tempo e o apoio adequado, você verá progressos.', NULL, 'openai', 'geral', NULL, NULL, 0, '2025-09-10 19:15:45'),
(0, 14, 0, 1, 'Adaptações curriculares para alunos com TEA', 'Olá, compreendo a sua situação e o desafio de criar uma adaptação curricular para o João. Com base nas informações que você forneceu, gostaria de sugerir algumas estratégias que podem ser úteis.\n\n1. **Estratégia Principal**\n\n   Para João, a utilização de recursos visuais e atividades estruturadas será fundamental. Podemos começar criando uma rotina visual diária, utilizando pictogramas ou imagens representando cada atividade do dia. Isso ajudará João a entender a sequência de eventos e a se preparar para as transições.\n\n2. **Exemplo Prático**\n\n   Você pode dividir as atividades diárias em blocos, representando cada um com uma imagem ou pictograma. Por exemplo, um bloco de atividades poderia ser \"Hora do lanche\", que inclui lavar as mãos, pegar o lanche e comer. Cada um desses passos pode ser representado por uma imagem na rotina visual. À medida que João completa cada passo, ele pode mover a imagem para uma caixa de \"atividades concluídas\". Isso pode ajudá-lo a entender o conceito de sequência e a antecipar as transições.\n\n3. **Dicas Extras**\n\n   - Comunicação: Como João tem dificuldades na comunicação verbal e não verbal, considere a implementação do sistema PECS (Picture Exchange Communication System). Ele permite que João se comunique através da troca de imagens. Comece com necessidades básicas, como alimentos e brinquedos, e avance gradualmente para expressões mais complexas.\n   \n   - Comportamento: Para lidar com comportamentos desafiadores, estabeleça uma estrutura clara de recompensas e consequências, sempre em um formato visual. As recompensas devem ser imediatas e motivadoras para o João.\n   \n   - Motor: Para desenvolver habilidades motoras finas, inclua atividades de arte que envolvam o uso de tesouras, lápis de cor, e massinhas de modelar. Para as habilidades motoras grossas, brincadeiras ao ar livre e jogos de bola podem ser úteis.\n\n4. **Encorajamento Final**\n\n   Lembre-se de que cada pequeno progresso é uma grande vitória. Com paciência, consistência e adaptações focadas nas necessidades de João, você verá melhoras no desenvolvimento dele.\n\nLembrando que a colaboração com a família e outros profissionais envolvidos no atendimento do João pode ser muito útil para alcançar os melhores resultados. Espero que essas sugestões sejam úteis e estou aqui para qualquer dúvida ou esclarecimento adicional.', NULL, 'openai', 'geral', NULL, NULL, 0, '2025-09-10 19:22:46'),
(0, 14, 0, 1, 'sugerir uma estratégia pedagógica para trabalhar a habilidade da bcc (EI03CG05) Coordenar suas habilidades manuais no atendimento adequado a seus interesses e necessidades em situações diversas.', 'Olá, compreendo a situação do João e sei o quanto pode ser desafiador. Mas, lembre-se, cada pequeno passo conta e acredito que juntos podemos encontrar estratégias eficazes para ajudá-lo. Vamos lá?\n\nEstratégia principal:\nUma boa forma de trabalhar com a coordenação motora fina do João pode ser através de atividades lúdicas envolvendo a manipulação de objetos. A arte, por exemplo, é uma excelente maneira de desenvolver essas habilidades. Sugiro a criação de um \"Cantinho da Arte\" na sala de aula, onde o João possa explorar diferentes materiais com segurança e autonomia.\n\nExemplo prático: \nUm exemplo de atividade seria a modelagem com massinha de modelar. Comece com formas simples, como rolinhos e bolinhas, e gradualmente apresente desafios maiores, como modelar animais ou letras. Providencie ferramentas como rolinhos, cortadores e moldes para enriquecer a experiência. O uso dessas ferramentas pode ajudar a melhorar a coordenação motora fina e a força manual.\n\nDicas extras:\n- Mantenha a rotina desta atividade e sinalize com antecedência para o João, ajudando-o a se preparar para a transição. \n- Use recursos visuais para orientar o processo. Por exemplo, você pode criar um sequenciador visual com as etapas da atividade (pegar a massinha, amassar, modelar, limpar).\n- Esteja presente e atenta para oferecer suporte quando necessário, mas permita que o João explore e tente por si mesmo. \n\nÉ importante lembrar que a resistência a novas atividades e texturas pode ser um desafio. Caso o João demonstre aversão à textura da massinha, experimente diferentes tipos (mais secas, mais úmidas) ou utilize luvas finas inicialmente. Com o tempo, vá incentivando o contato direto.\n\nEncorajamento final:\nSei que pode parecer difícil, mas com paciência, consistência e adaptações, tenho certeza de que você verá progressos. Lembre-se de comemorar cada pequena conquista do João. Estou aqui para qualquer outra orientação que você precise. Boa sorte!', NULL, 'openai', 'geral', NULL, NULL, 0, '2025-09-10 19:24:35'),
(0, 14, NULL, 1, 'Estratégias para melhorar a comunicação de uma criança não-verbal com TEA', 'Entendo sua preocupação e sei o quanto é desafiador buscar estratégias para melhorar a comunicação de uma criança não-verbal com TEA. É importante lembrar que a comunicação não se resume apenas à fala, mas também envolve gestos, expressões faciais e até mesmo o uso de imagens.\n\n1️⃣ Como estratégia principal, sugiro a utilização do Sistema de Comunicação por Troca de Figuras (PECS). Este método se baseia no uso de figuras ou símbolos que representam objetos, atividades ou ações, permitindo que a criança se expresse de forma mais eficaz.\n\nVamos ver como isso pode funcionar na prática:\n\n🔸 Selecione figuras de objetos ou atividades que sejam do interesse da criança. Elas podem ser impressas ou feitas em casa mesmo, o importante é que sejam reconhecíveis para ela.\n🔸 Comece com algo simples, como a figura de um alimento preferido, por exemplo. Mostre a figura para a criança e, ao mesmo tempo, apresente o alimento real.\n🔸 Quando ela indicar de alguma forma que quer o alimento (pode ser um olhar, um gesto), ajude-a a pegar a figura e entregá-la a você. Nesse momento, entregue o alimento a ela. \n🔸 Isso ensina a criança que a figura tem um valor, que ela pode \"trocar\" essa figura pelo que deseja.\n\nAlém disso, você pode:\n- Usar a tecnologia ao seu favor. Existem aplicativos que podem ser personalizados com fotos e sons que a criança gosta.\n- Criar uma rotina comunicativa, com momentos específicos para a criança se expressar.\n- Promover atividades de imitação. A criança pode aprender a se comunicar melhor observando e imitando os gestos e expressões dos outros.\n\nLembre-se de que todo progresso é válido e cada pequeno passo é uma grande vitória. A comunicação é um processo e cada criança tem seu tempo e maneira de aprender. A paciência, o encorajamento e a celebração de cada conquista são fundamentais nesse processo.\n\nEspero que estas dicas sejam úteis! Estou à disposição para qualquer dúvida ou para ajudar com outras estratégias.', NULL, 'openai', 'geral', NULL, NULL, 0, '2025-09-10 23:13:22'),
(0, 14, NULL, 1, 'Adaptações curriculares para alunos com TEA', 'Compreendo a importância de fazer adaptações curriculares para alunos com TEA, pois isso pode ser uma ferramenta poderosa para ajudá-los a acessar e participar plenamente do currículo escolar. \n\nA estratégia principal é a personalização do currículo com base nas necessidades individuais do aluno. Isso significa entender as forças e fraquezas do aluno, seus interesses e sua forma de aprender. \n\nPor exemplo, se um aluno tem habilidades visuais fortes, adapte o currículo para incorporar mais elementos visuais. Isso pode envolver o uso de gráficos, diagramas, vídeos ou programas de computador. Ao mesmo tempo, se o aluno tem dificuldade em se concentrar por longos períodos, divida as atividades em segmentos menores com pausas frequentes.\n\nAlém disso, a inclusão de suportes sensoriais, como objetos táteis ou atividades de movimento, pode ser útil para alunos com sensibilidades sensoriais. Por exemplo, se um aluno se distrai facilmente com o barulho, providencie fones de ouvido com cancelamento de ruído ou um espaço tranquilo para trabalhar.\n\nPara melhorar a compreensão, é útil simplificar as instruções, tanto verbalmente quanto por escrito, e certificar-se de que o aluno as compreende antes de prosseguir. Você pode usar estratégias de ensino como a modelagem, a prática guiada e a repetição para reforçar novos conceitos.\n\nUma dica extra é envolver os pais e outros membros da equipe de apoio na adaptação do currículo. Eles podem oferecer insights valiosos sobre o que funciona melhor para o aluno. E lembre-se, a adaptação é um processo contínuo, então esteja aberta para fazer ajustes conforme necessário.\n\nFinalmente, quero encorajá-la nesse processo. Fazer adaptações curriculares pode ser um desafio, mas o impacto positivo que isso pode ter no aprendizado e no bem-estar do aluno faz com que valha a pena. Você está fazendo um trabalho incrível ao procurar maneiras de apoiar seus alunos com TEA!', NULL, 'openai', 'geral', NULL, NULL, 0, '2025-09-10 23:17:48'),
(0, 14, NULL, 1, 'Adaptações curriculares para alunos com TEA', 'Compreendo sua situação, trabalhar com adaptações curriculares para alunos com TEA pode ser um desafio, mas também uma grande oportunidade de aprender e ensinar de maneiras diferentes. Aqui vão algumas estratégias que podem te ajudar.\n\n1. **Adaptação do Conteúdo**: Concentre-se nas habilidades e interesses do aluno. Por exemplo, se o aluno tem interesse por dinossauros, você pode usar isso para ensinar conceitos matemáticos, como contagem, comparação de tamanhos, etc.\n\n2. **Métodos de Instrução**: Utilize métodos visuais para ensinar, como gráficos, imagens, vídeos, etc. Por exemplo, ao ensinar o ciclo da água, você pode usar uma sequência de imagens que demonstrem cada passo do processo.\n\n3. **Diferenciação na Avaliação**: Avalie o aluno de acordo com suas habilidades, não apenas através de testes escritos, mas também com tarefas práticas, observações, autoavaliações, etc.\n\n4. **Estruturação do Ambiente**: Criar um ambiente previsível e estruturado pode ser muito útil. Use agendas visuais, rotinas claras e consistentes, e um espaço de aprendizado organizado.\n\n5. **Suporte Social**: Promova a interação social, ensinando habilidades de socialização e incentivando a participação em atividades em grupo.\n\n6. **Flexibilidade**: Esteja preparado para ajustar seu plano conforme necessário. Cada aluno com TEA é único e pode precisar de diferentes tipos de adaptações.\n\nAlém dessas estratégias, gostaria de lembrar que o mais importante é sempre manter a alta expectativa sobre o aluno e acreditar no seu potencial de aprendizagem. Seja paciente, persistente e celebre cada pequeno progresso. Lembre-se, você não está sozinho nesta jornada. Busque apoio em sua equipe escolar e na família do aluno. Juntos, vocês podem fazer a diferença na vida deste aluno.', NULL, 'openai', 'geral', NULL, NULL, 0, '2025-09-10 23:17:48'),
(0, 14, 0, 1, 'Atividades sensoriais adequadas para crianças com TEA', 'Compreendo a complexidade e os desafios que você e João estão enfrentando. Trabalhar com crianças no espectro autista, especialmente em níveis mais elevados, requer muita paciência, compreensão e estratégias personalizadas. Aqui estão algumas atividades sensoriais que podem ajudar João a se regular melhor e a se envolver mais em suas interações sociais e atividades de aprendizado.\n\n1. **Atividades de integração sensorial:** Estas atividades são projetadas para ajudar João a processar e integrar informações sensoriais. Considerando que João gosta de movimentos repetitivos e objetos brilhantes, podemos incluir atividades como o uso de uma lâmpada de lava ou tubos de brilho. O movimento lento e o brilho podem ajudar a mantê-lo calmo e concentrado. Outra opção é uma caixa sensorial com diferentes texturas (por exemplo, arroz, feijão, algodão) que ele possa manipular.\n\n2. **Brincadeiras com massinha ou argila:** Estas atividades podem ajudar João a se acostumar com diferentes texturas e também a desenvolver habilidades motoras finas. Você pode incorporar objetos pequenos na massa para que ele possa procurar e encontrar, o que também aumentará sua capacidade de concentração.\n\n3. **Experiência com sons calmantes:** Como João pode se incomodar com barulhos comuns, mas busca sons repetitivos, experimente utilizar sons suaves e calmantes, como o som da chuva, o ruído branco ou música instrumental suave. O aplicativo \"Calm\" tem várias opções nesse sentido.\n\n4. **Atividades de respiração e yoga para crianças:** Estas atividades podem ajudar João a se acalmar e a se concentrar. Existem vídeos online específicos para crianças com TEA que você pode seguir.\n\nLembre-se, ao implementar estas atividades, introduza-as lentamente e observe a reação de João. Se ele parecer desconfortável ou perturbado, pare a atividade e tente algo diferente. Cada criança com TEA é única e pode responder de forma diferente a diferentes estímulos.\n\nAlém disso, tente incorporar elementos estruturados e previsíveis nessas atividades, já que João tem dificuldade com mudanças de rotina. Por exemplo, inicie sempre com a mesma atividade e termine com a mesma canção suave.\n\nPor fim, lembre-se de que progresso é progresso, não importa o quão pequeno. Pode levar tempo para João se adaptar a essas atividades e começar a mostrar melhorias, mas com sua paciência e apoio, ele irá progredir em seu próprio ritmo. Você está fazendo um ótimo trabalho, e estou aqui para apoiá-la em cada passo do caminho.', NULL, 'openai', 'geral', NULL, NULL, 0, '2025-09-14 02:07:20'),
(0, 14, 0, 1, 'me sugira atividades para trabalhar a habilidade (EI01EO05) Reconhecer seu corpo e expressar suas sensações em momentos de alimentação, higiene, brincadeira e descanso da BNCC', 'Compreendo a situação do João, e acredito que existem várias estratégias que podemos implementar. Trabalhar a habilidade EI01EO05 com o João irá requerer algumas adaptações considerando seu nível no espectro autista. \n\nPrimeiramente, vamos dividir essa habilidade em partes menores para que possamos trabalhar uma de cada vez. \n\n1. Reconhecer o próprio corpo: Para isso, sugiro atividades lúdicas como \'Simon Says\' (ou \'Mestre Mandou\' em português), adaptado para o nível de compreensão do João. Como ele tem dificuldade em instruções simples, você pode usar imagens ou bonecos para mostrar o que ele precisa fazer. Por exemplo, mostre uma imagem ou boneco tocando a cabeça quando você disser \"Mestre mandou tocar a cabeça\". \n\n2. Expressar sensações: Isso pode ser mais desafiador, mas é possível começar com sensações básicas como \"quente\" ou \"frio\". Por exemplo, durante o horário de lanche, ofereça alimentos de diferentes temperaturas e incentive o João a expressar a sensação de \"quente\" ou \"frio\". Você pode fazer o mesmo com texturas diferentes, como \"suave\" ou \"áspero\". \n\n3. Momentos de alimentação, higiene, brincadeira e descanso: Sugiro a criação de rotinas visuais para esses momentos do dia. Por exemplo, um cartaz com imagens sequenciais do que é esperado durante cada atividade (pegar o prato, sentar na mesa, comer, beber, limpar a boca, guardar o prato, etc). Essas rotinas visuais podem ajudar o João a entender o que é esperado dele e a se familiarizar com as atividades diárias.\n\nLembre-se de sempre associar a atividade com uma recompensa para motivar o João. Esta recompensa pode ser um elogio, um adesivo, ou um tempo com uma atividade que ele goste muito.\n\nPara trabalhar a questão da socialização, pode-se tentar incluir um colega de sala nas atividades, sempre respeitando o ritmo do João e observando se esta inclusão está sendo positiva para ele.\n\nCom relação aos comportamentos desafiadores, é importante sempre manter a calma e utilizar estratégias de manejo de comportamento, como ignorar comportamentos inadequados (desde que não estejam colocando o João ou outros em risco) e reforçar os comportamentos adequados.\n\nSei que pode parecer desafiador no início, mas lembre-se de que cada pequeno progresso é uma vitória. E com paciência, consistência e muito carinho, tenho certeza de que você ajudará o João a se desenvolver cada vez mais.', NULL, 'openai', 'geral', NULL, NULL, 0, '2025-09-14 02:09:09'),
(0, 14, NULL, 1, 'gerar uma prova adaptada para verificar os níveis de leitura e escrita do João', 'Compreendo sua situação, adaptar avaliações para alunos com TEA é um desafio que requer planejamento e conhecimento sobre as particularidades do aluno. Vamos desenvolver uma estratégia para avaliar os níveis de leitura e escrita do João.\n\n1️⃣ **Estratégia Principal:**\n\nVamos criar uma avaliação adaptada que seja visualmente clara, com instruções diretas e que se baseie nos interesses do João. Uma avaliação desse tipo poderia inclinar-se para a forma de histórias curtas, perguntas de múltipla escolha ou completar frases. \n\nPor exemplo, para avaliar a leitura, você pode criar uma história curta sobre um tema que João goste e fazer perguntas sobre a história. As perguntas podem variar desde pedir para ele identificar palavras específicas até perguntar sobre a sequência dos eventos ou o final da história. Para avaliar a escrita, você pode pedir que João complete as frases ou escreva uma conclusão para a história.\n\n2️⃣ **Exemplo Prático:**\n\nSuponha que João goste de dinossauros. Você pode criar uma história curta sobre um dinossauro que perdeu o seu caminho. A avaliação pode ter uma parte onde João precisa identificar palavras específicas no texto (por exemplo, \"dinossauro\", \"caminho\", \"perdeu\"). Em seguida, pode ter perguntas de múltipla escolha sobre a sequência dos eventos na história. \n\nPara a parte de escrita, você pode dar a João a tarefa de completar frases como \"O dinossauro sentiu-se ____ quando perdeu o caminho\" ou pedir que ele escreva o que acha que acontecerá em seguida na história.\n\n3️⃣ **Dicas Extras:**\n\n- Use imagens e suporte visual para auxiliar na compreensão da prova.\n- Certifique-se de que as instruções são claras e diretas.\n- Utilize a estratégia de ensino estruturado, apresentando a prova em pequenos blocos de informação e com bastante espaçamento entre as questões, para não sobrecarregar o João visualmente. \n\nÉ importante lembrar que a avaliação é um processo e que pode ser necessário fazer ajustes conforme o progresso do João. Celebre as pequenas vitórias e tenha paciência com os desafios.\n\nEspero que essas sugestões sejam úteis para você. Juntos, podemos ajudar o João a ter sucesso.', NULL, 'openai', 'geral', NULL, NULL, 0, '2025-09-14 02:14:50'),
(0, 14, NULL, 1, 'criar uma história curta sobre dinossauro para a avaliação', 'Claro, adoraria ajudar a criar uma história curta sobre dinossauros para a avaliação. Histórias são uma ótima maneira de engajar os alunos e desenvolver suas habilidades de linguagem e imaginação. Com crianças no espectro autista, elas também podem ser usadas para ensinar comportamentos sociais, rotinas e habilidades de vida diária.\n\nVamos a um exemplo prático:\n\n📘 Título: \"O Dinossauro Tico e a Grande Aventura\"\n\nEra uma vez um pequeno dinossauro chamado Tico. Tico era um Tricerátopo que vivia em uma floresta cheia de plantas altas e coloridas. Ele era conhecido por ser muito curioso e adorava explorar.\n\nUm dia, Tico decidiu fazer uma caminhada mais longa do que o normal. Ele queria encontrar novas plantas para comer. Tico caminhou e caminhou, mas de repente, ele percebeu que não reconhecia o caminho de casa.\n\nTico começou a ficar preocupado, mas então ele lembrou de um conselho que sua mãe sempre dava: \"Se você se perder, sempre procure o Pico Alto. Ele pode ser visto de qualquer lugar da floresta e fica perto de nossa casa.\"\n\nEntão, Tico começou a procurar o Pico Alto. Ele subiu em uma pedra grande, olhou ao redor e lá estava - o Pico Alto! Tico se sentiu aliviado e seguiu o caminho de volta para casa, aprendendo uma importante lição sobre a importância de prestar atenção ao seu redor.\n\nAgora, para aplicar essa história na avaliação, aqui vão algumas dicas:\n\n1. Faça perguntas de compreensão ao final da história: \"Por que Tico saiu para caminhar? O que ele fez quando se perdeu?\".\n\n2. Peça para o aluno recontar a história com suas próprias palavras.\n\n3. Peça para a criança desenhar sua parte favorita da história.\n\n4. Faça perguntas reflexivas: \"Como você acha que Tico se sentiu quando percebeu que estava perdido? E quando ele encontrou o caminho de casa?\"\n\nLembre-se que o importante é fazer com que o aluno se envolva com a história, desenvolvendo suas habilidades de linguagem, escuta e compreensão. E, acima de tudo, que a atividade seja divertida!', NULL, 'openai', 'geral', NULL, NULL, 0, '2025-09-14 02:16:05'),
(0, 14, 0, 1, 'Atividades sensoriais adequadas para crianças com TEA', 'Compreendo a situação de João e percebo que ele apresenta desafios significativos, especialmente em relação à comunicação e regulação emocional. Aqui estão algumas sugestões de atividades sensoriais que podem ajudar a apoiá-lo:\n\n1️⃣ **Caixa sensorial:** Crie uma caixa com objetos de diferentes texturas, formas e cores para João explorar. Por exemplo, você pode incluir algodão, pedaços de diferentes tecidos (liso, áspero, macio, etc.), bolas de plástico, blocos de madeira, e assim por diante. Esta atividade pode ajudar a desenvolver a tolerância a diferentes sensações táteis e oferecer uma oportunidade para a comunicação não verbal, pois você pode observar quais objetos ele prefere ou evita.\n\n2️⃣ **Atividades com água:** A água pode ser um estímulo sensorial calmante. Você pode brincar de encher e esvaziar copos, lavar objetos pequenos, ou apenas permitir que João brinque livremente com a água. Lembre-se de supervisionar sempre para garantir a segurança.\n\n3️⃣ **Materiais de modelar:** Massinha, argila, ou até mesmo farinha e água podem criar uma experiência tátil agradável. João pode apertar, amassar, rolar e cortar esses materiais, o que também pode ajudar a desenvolver habilidades motoras finas.\n\n4️⃣ **Jogos de luzes:** Como João se fascina por objetos brilhantes, você pode criar um espaço escuro com luzes de diferentes cores. Lanternas coloridas ou luzes de Natal podem ser ótimas ferramentas para isso.\n\nComo exemplo prático, vamos considerar a caixa sensorial. Primeiro, reúna diferentes objetos que João possa explorar. Depois, apresente a caixa a ele, e deixe que ele explore os objetos por si mesmo. Você pode descrever as sensações que ele está experimentando (\"Este é áspero\", \"Isto é macio\") para ajudar a desenvolver sua linguagem e compreensão.\n\nComo dicas extras, sugiro que você introduza as atividades gradualmente e observe as reações de João. Se ele parecer desconfortável ou ansioso com alguma atividade, dê-lhe tempo para se ajustar. Lembre-se de que estas atividades são destinadas a serem prazerosas e não devem causar estresse.\n\nSeja paciente e lembre-se de que cada pequeno progresso é uma vitória. João é um indivíduo único com suas próprias necessidades e preferências. O que funciona para uma criança pode não funcionar para outra, então esteja preparada para tentar diferentes abordagens e adaptar as atividades conforme necessário.\n\nSei que lidar com os desafios do TEA pode ser difícil, mas lembre-se de que você não está sozinha. Com paciência, compreensão e as estratégias certas, você pode fazer uma diferença significativa na vida de João. Boa sorte, e lembre-se de cuidar de si mesma também.', NULL, 'openai', 'geral', NULL, NULL, 0, '2025-09-16 13:39:25'),
(0, 14, 0, 1, 'sugestão de práticas para trabalhar a habilidade ampliar as relações interpessoais, desenvolvendo atitudes de participação e cooperação com o Joao', 'Compreendo a sua situação e as dificuldades que o João apresenta. Ao trabalhar com crianças no espectro autista, é importante lembrar que cada criança é única e, portanto, as estratégias devem ser adaptadas à sua personalidade e às suas necessidades individuais. Aqui estão algumas estratégias que podem ser úteis para o João.\n\nEstratégia Principal: Jogo Dramático Dirigido\n\nO Jogo Dramático Dirigido pode ser uma maneira eficaz de ensinar habilidades sociais e de cooperação. Neste tipo de atividade, as crianças são orientadas através de uma situação de jogo com o objetivo de aprender a interagir com os outros de forma adequada. Por exemplo, você pode criar um cenário de \"loja\" onde João pode ser o \"cliente\" e uma das crianças pode ser o \"lojista\". O jogo é estruturado e com roteiros claros, para que João saiba o que se espera dele em cada etapa.\n\nExemplo Prático de Aplicação:\n\n1. Prepare o cenário: Crie um ambiente de \"loja\" na sala de aula, com itens reais ou de brinquedo para \"vender\". \n\n2. Explique o jogo: Mostre a todos as regras do jogo e o que cada \"personagem\" deve fazer.\n\n3. Pratique o papel de João: Antes de começar o jogo, pratique com João o que ele deve fazer. Por exemplo, ensine-o a \"comprar\" um item, a pagar pela compra e a dizer \"obrigado\". \n\n4. Jogue o jogo: Comece o jogo e deixe João experimentar interagir com os outros alunos.\n\nDicas Extras:\n\n1. Use recursos visuais: Recursos visuais podem ser úteis para ajudar João a entender o que se espera dele. Você pode usar fotos ou desenhos para mostrar cada etapa do jogo.\n\n2. Reforço positivo: Sempre que João agir de forma adequada, elogie-o. Isso reforçará o comportamento desejado.\n\n3. Prática constante: A repetição é chave para o aprendizado. Tente praticar esse jogo regularmente para que João possa se acostumar com a situação e aprender as habilidades necessárias.\n\n4. Profissional de apoio: Como João precisa de um profissional de apoio constante, esse profissional pode participar do jogo, ajudando João a entender e a seguir as regras.\n\nLembre-se, a aprendizagem e o progresso podem levar tempo. Paciência, compreensão e consistência são fundamentais. Você está fazendo um ótimo trabalho e cada pequeno passo é uma grande vitória. Continue firme!', NULL, 'openai', 'geral', NULL, NULL, 0, '2025-09-16 13:42:23'),
(0, 40, 0, 1, 'estratégias para cumprir a meta estabelecida para a aluna', 'Olá! Compreendo que a complexidade da situação da Maria Olívia traz desafios tanto para ela quanto para os educadores envolvidos. Vamos trabalhar juntos para ajudá-la a alcançar suas metas. Aqui estão algumas estratégias que podem ser úteis:\n\n1. **Estratégia principal detalhada: Comunicação Alternativa e Aumentativa (CAA)**\n   A Maria Olívia parece beneficiar-se de recursos de Comunicação Alternativa e Aumentativa (CAA). Sugiro a implementação de um sistema de comunicação por troca de figuras (PECS), com um painel de comunicação personalizado para ela. \n\n   Comece com pictogramas de atividades e objetos do interesse dela. Cada vez que ela quiser algo, oriente-a a usar o pictograma correspondente, reforçando positivamente seu uso. Gradualmente, você pode introduzir pictogramas de ações, emoções e demandas mais complexas.\n\n2. **Exemplo prático de aplicação:**\n    Suponha que Maria Olívia gosta de desenhar. Você pode ter um pictograma para \"desenhar\" e quando ela quiser desenhar, ela deve usar o pictograma para solicitar a atividade. Se ela usar corretamente o pictograma, elogie-a e imediatamente deixe-a desenhar. Isso reforçará a associação entre o pictograma e a atividade de desenhar.\n\n3. **Dicas extras:**\n     - Para melhorar sua funcionalidade e aprendizagem, a integração sensorial pode ser útil. Atividades como brincar com massinha, areia, ou até mesmo atividades aquáticas podem ajudá-la a regular suas emoções e comportamentos.\n     - A rotina estruturada também é fundamental. Utilize agendas visuais para ajudar Maria Olívia a entender e antecipar o que acontecerá em seguida, diminuindo assim a ansiedade e os comportamentos desafiadores.\n     - Para ajudá-la com a socialização, tente estabelecer situações de jogo estruturado com um colega de turma de cada vez, sempre com a sua mediação. Jogos simples de turno podem ser um bom começo.\n     - Em relação à aprendizagem acadêmica, continue trabalhando com materiais concretos e atividades práticas. Para a sequência numérica, por exemplo, você pode usar blocos numéricos ou contas.\n\n4. **Encorajamento Final:**\n    Lembre-se de que cada pequeno progresso é uma grande vitória. Seja paciente e persistente. A guia Maria Olívia nessa jornada é uma tarefa de grande importância e estou confiante de que você está fazendo um excelente trabalho. Vamos juntos nesse caminho de aprendizagem e descobertas.', NULL, 'openai', 'geral', NULL, NULL, 0, '2025-09-24 00:04:13'),
(0, 43, NULL, 1, 'Como controlar agitação de criança com tea nível 3 no momento de ir embora?', 'Compreendo a sua situação. Trabalhar com uma criança com TEA nível 3 que apresenta agitação na hora da partida pode ser desafiador, mas existem estratégias que podem ajudar a amenizar essa dificuldade.\n\n**Estratégia Principal: Implementação de uma rotina estruturada de transição**\n\n1. **Desenvolva uma rotina consistente:** Crie uma sequência fixa de atividades que sempre ocorrem antes de ir embora. Isso pode incluir arrumar os brinquedos, lavar as mãos, pegar a mochila, colocar o sapato, etc. A previsibilidade pode ajudar a diminuir a ansiedade da criança.\n\n2. **Use um cronômetro visual:** Um cronômetro visual, seja um relógio de areia ou um aplicativo de celular, pode ser útil para a criança visualizar o tempo restante antes da transição. Comece com um tempo maior e vá diminuindo gradualmente conforme a criança se acostuma.\n\n3. **Faça um quadro de rotina:** Use imagens para ilustrar cada etapa da rotina de ir embora. A criança pode levar consigo o quadro e verificar cada etapa concluída, o que pode trazer uma sensação de controle e previsibilidade.\n\n**Exemplo prático de aplicação:**\n\nVamos supor que a rotina de ir embora seja: arrumar os brinquedos, lavar as mãos, beber água, pegar a mochila e colocar o sapato. Você pode criar um quadro com imagens que representem cada uma dessas etapas. Antes de iniciar a rotina, mostre o quadro para a criança e explique o que vai acontecer. Use o cronômetro visual para indicar o tempo restante para cada atividade. \n\n**Dicas extras:**\n\n- Lembre-se de dar avisos verbais ou visuais (como um cartão de \"5 minutos\") antes da transição começar.\n- Seja paciente e consistente. As mudanças podem levar tempo.\n- Celebre as pequenas vitórias. Se a criança conseguir fazer uma transição mais tranquila, comemore com ela.\n\nSei que lidar com essas situações pode ser difícil, mas acredito em você e na sua capacidade de ajudar a criança a superar esse desafio. Não desista, você está fazendo um trabalho incrível!', NULL, 'openai', 'geral', NULL, NULL, 0, '2025-09-24 20:33:49'),
(0, 14, NULL, 1, 'Adaptações curriculares para alunos com TEA', 'Para comportamentos desafiadores, identifique os gatilhos e implemente estratégias preventivas. Mantenha a calma e seja consistente.\n\n*Esta é uma resposta simulada. Configure a OpenAI para respostas personalizadas.*', NULL, 'simulada', 'geral', NULL, NULL, 0, '2025-12-03 14:11:33'),
(0, 14, NULL, 1, 'Adaptações curriculares para alunos com TEA', 'Estratégias sensoriais podem ser muito úteis. Observe se a criança tem sensibilidades específicas e adapte o ambiente conforme necessário.\n\n*Esta é uma resposta simulada. Configure a OpenAI para respostas personalizadas.*', NULL, 'simulada', 'geral', NULL, NULL, 0, '2025-12-04 13:04:10'),
(0, 14, 9, 1, 'Adaptações curriculares para alunos com TEA', 'O trabalho colaborativo com a família é essencial. Compartilhe estratégias que funcionam na escola para uso em casa também.\n\n*Esta é uma resposta simulada. Configure a OpenAI para respostas personalizadas.*', NULL, 'simulada', 'geral', NULL, NULL, 0, '2025-12-05 19:16:32'),
(0, 14, 9, 1, 'de acordo com os dados do aluno Carlos, como trabalhar melhor a socialização?', 'Adaptações curriculares podem incluir: tempo extra, instruções simplificadas, atividades práticas e avaliações diferenciadas.\n\n*Esta é uma resposta simulada. Configure a OpenAI para respostas personalizadas.*', NULL, 'simulada', 'geral', NULL, NULL, 0, '2025-12-05 19:17:20'),
(0, 14, 9, 1, 'Adaptações curriculares para alunos com TEA', 'Para crianças com TEA, é importante manter rotinas estruturadas e usar comunicação visual sempre que possível. Considere usar pictogramas e sequências visuais.\n\n*Esta é uma resposta simulada. Configure a OpenAI para respostas personalizadas.*', NULL, 'simulada', 'geral', NULL, NULL, 0, '2025-12-06 13:25:28'),
(0, 14, NULL, 1, 'Olá!! me de sugestões para que o aluno avance no nível de escrita pré silábico para silábico', 'Adaptações curriculares podem incluir: tempo extra, instruções simplificadas, atividades práticas e avaliações diferenciadas.\n\n*Esta é uma resposta simulada. Configure a OpenAI para respostas personalizadas.*', NULL, 'simulada', 'geral', NULL, NULL, 0, '2025-12-10 00:37:16'),
(0, 14, NULL, 1, 'Ola', 'O trabalho colaborativo com a família é essencial. Compartilhe estratégias que funcionam na escola para uso em casa também.\n\n*Esta é uma resposta simulada. Configure a OpenAI para respostas personalizadas.*', NULL, 'simulada', 'geral', NULL, NULL, 0, '2025-12-10 18:17:08'),
(0, 14, 9, 1, 'oi', 'A comunicação alternativa e aumentativa (CAA) é fundamental. Use gestos, imagens e tecnologias assistivas para facilitar a expressão.\n\n*Esta é uma resposta simulada. Configure a OpenAI para respostas personalizadas.*', NULL, 'simulada', 'geral', NULL, NULL, 0, '2025-12-10 18:17:48');

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

--
-- Estrutura para tabela `tea_episodios`
--

CREATE TABLE `tea_episodios` (
  `id` int NOT NULL,
  `student_id` int NOT NULL,
  `descricao` text COLLATE utf8mb4_general_ci NOT NULL,
  `data_episodio` datetime DEFAULT CURRENT_TIMESTAMP,
  `registrado_por` int NOT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Despejando dados para a tabela `tea_episodios`
--

INSERT INTO `tea_episodios` (`id`, `student_id`, `descricao`, `data_episodio`, `registrado_por`, `created_at`) VALUES
(4, 8, 'João Lucas teste', '2025-12-05 09:46:44', 11, '2025-12-05 12:46:44');

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

--
-- Estrutura para tabela `tea_estrategias`
--

CREATE TABLE `tea_estrategias` (
  `id` int NOT NULL,
  `nome` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
  `descricao` text COLLATE utf8mb4_general_ci NOT NULL,
  `categoria` enum('comunicacao','comportamental','sensorial','pedagogica','social','autonomia','motora') COLLATE utf8mb4_general_ci NOT NULL,
  `nivel_tea_indicado` set('1','2','3') COLLATE utf8mb4_general_ci DEFAULT '1,2,3',
  `idade_minima` int DEFAULT NULL,
  `idade_maxima` int DEFAULT NULL,
  `materiais_necessarios` text COLLATE utf8mb4_general_ci,
  `passos` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'Passos para aplicação',
  `dicas` text COLLATE utf8mb4_general_ci,
  `referencias` text COLLATE utf8mb4_general_ci COMMENT 'Fontes e referências',
  `criado_por` int DEFAULT NULL COMMENT 'Usuário que criou',
  `school_id` int DEFAULT NULL COMMENT 'Escola de origem',
  `publica` tinyint(1) DEFAULT '1' COMMENT 'Disponível para outras escolas',
  `aprovada` tinyint(1) DEFAULT '0' COMMENT 'Aprovada por especialista',
  `visualizacoes` int DEFAULT '0',
  `curtidas` int DEFAULT '0',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ;

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

--
-- Estrutura para tabela `tea_observacoes`
--

CREATE TABLE `tea_observacoes` (
  `id` int NOT NULL,
  `student_id` int NOT NULL COMMENT 'Aluno observado (tea_students.id)',
  `teacher_id` int NOT NULL COMMENT 'Professor que fez observação (users.id)',
  `school_id` int NOT NULL COMMENT 'Escola onde ocorreu',
  `data_observacao` datetime NOT NULL,
  `tipo_observacao` enum('pedagogica','comportamental','social','comunicativa','motora','sensorial','emocional','alimentar','higiene') COLLATE utf8mb4_general_ci NOT NULL,
  `contexto` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'Local/situação (sala, recreio, etc)',
  `atividade` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'Atividade em andamento',
  `conteudo` text COLLATE utf8mb4_general_ci NOT NULL COMMENT 'Descrição detalhada da observação',
  `estrategias_utilizadas` text COLLATE utf8mb4_general_ci COMMENT 'Estratégias aplicadas',
  `resultado_estrategia` text COLLATE utf8mb4_general_ci COMMENT 'Resultado das estratégias',
  `relevancia` enum('baixa','media','alta','critica') COLLATE utf8mb4_general_ci DEFAULT 'media',
  `tags` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'Tags para categorização',
  `anexos` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'Referências a arquivos anexos',
  `visivel_responsavel` tinyint(1) DEFAULT '0' COMMENT 'Se responsável pode visualizar',
  `compartilhada` tinyint(1) DEFAULT '0' COMMENT 'Se pode ser vista por outros professores',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ;

--
-- Despejando dados para a tabela `tea_observacoes`
--

INSERT INTO `tea_observacoes` (`id`, `student_id`, `teacher_id`, `school_id`, `data_observacao`, `tipo_observacao`, `contexto`, `atividade`, `conteudo`, `estrategias_utilizadas`, `resultado_estrategia`, `relevancia`, `tags`, `anexos`, `visivel_responsavel`, `compartilhada`, `created_at`, `updated_at`) VALUES
(0, 0, 0, 1, '2025-08-28 22:59:24', 'pedagogica', NULL, NULL, 'A aluna está no nível alfabético de escrita e possui leitura fluente. No raciocínio lógico-matemático, conta até 500, domina as operações de adição e subtração.', NULL, NULL, 'media', NULL, NULL, 0, 0, '2025-08-29 01:59:24', '2025-08-29 01:59:24'),
(0, 0, 0, 1, '2025-08-28 23:00:47', 'comportamental', NULL, NULL, 'A aluna participa de modo ativo, entretanto, possui preferências por determinados pares e atividades. Possui comportamento desafiador e pode negar a realização de atividades de que não gosta.', NULL, NULL, 'media', NULL, NULL, 0, 0, '2025-08-29 02:00:47', '2025-08-29 02:00:47'),
(0, 0, 0, 1, '2025-08-28 23:01:22', 'social', NULL, NULL, 'A aluna possui boa socialização.', NULL, NULL, 'media', NULL, NULL, 0, 0, '2025-08-29 02:01:22', '2025-08-29 02:01:22'),
(0, 0, 0, 1, '2025-08-28 23:01:42', 'comunicativa', NULL, NULL, 'A aluna se comunica de modo adequado.', NULL, NULL, 'media', NULL, NULL, 0, 0, '2025-08-29 02:01:42', '2025-08-29 02:01:42'),
(0, 0, 0, 1, '2025-08-28 23:02:12', 'motora', NULL, NULL, 'Possui habilidades motoras adequadas à sua faixa etária.', NULL, NULL, 'media', NULL, NULL, 0, 0, '2025-08-29 02:02:12', '2025-08-29 02:02:12'),
(0, 0, 14, 1, '2025-09-10 15:09:36', 'pedagogica', NULL, NULL, 'Apresenta ritmo de aprendizagem mais lento e fragmentado.\r\nNecessita de ensino estruturado, com rotinas claras, instruções passo a passo e objetivos visuais.\r\nDemonstra dificuldade em generalizar aprendizagens para diferentes contextos.\r\nResponde melhor a recursos visuais, como pictogramas, agendas ilustradas e materiais concretos.\r\nMantém atenção seletiva, focando por mais tempo em atividades de seu interesse.', NULL, NULL, 'media', NULL, NULL, 0, 0, '2025-09-10 18:09:36', '2025-09-10 18:09:36'),
(0, 0, 14, 1, '2025-09-10 15:10:38', 'motora', NULL, NULL, 'Apresenta atraso ou dificuldades no desenvolvimento motor fino (ex.: uso de lápis, tesoura, encaixes, botões).\r\nDemonstra alterações no desenvolvimento motor grosso, como correr, pular, arremessar ou pegar objetos.\r\nPode apresentar movimentos repetitivos e estereotipados, como balançar o corpo ou bater as mãos.\r\nMostra dificuldade em atividades que exigem coordenação motora ampla e equilíbrio.\r\nPode ter postura corporal rígida ou desajeitada em alguns movimentos.\r\nNecessita de apoio para desenvolver habilidades psicomotoras relacionadas à escrita, organização espacial e lateralidade.', NULL, NULL, 'media', NULL, NULL, 0, 0, '2025-09-10 18:10:38', '2025-09-10 18:10:38'),
(0, 0, 14, 1, '2025-09-10 15:11:27', 'comportamental', NULL, NULL, 'Apresenta crises frequentes de desregulação emocional, com episódios de choro intenso, gritos ou agressividade.\r\nDemonstra comportamentos autoagressivos (ex.: bater a cabeça, morder-se) ou heteroagressivos (bater, empurrar, morder colegas ou adultos).\r\nManifesta intensa resistência a mudanças de rotina ou de ambiente, podendo ter colapsos diante de alterações mínimas.\r\nMantém estereotipias motoras constantes e de difícil interrupção.\r\nTem grande dificuldade em aceitar regras e limites, necessitando de intervenção constante do adulto.', NULL, NULL, 'alta', NULL, NULL, 0, 0, '2025-09-10 18:11:27', '2025-09-10 18:11:27'),
(0, 0, 14, 1, '2025-09-10 15:12:25', 'comunicativa', NULL, NULL, 'Apresenta ausência de linguagem verbal funcional ou uso muito restrito de palavras isoladas.\r\nPode não compreender instruções simples sem apoio de gestos ou recursos visuais.\r\nFaz pouco ou nenhum uso espontâneo de comunicação não verbal (gestos, expressões faciais, apontar).\r\nPode recorrer apenas a formas atípicas de comunicação, como puxar a mão do adulto ou conduzi-lo até o objeto desejado.\r\nDemonstra dificuldade em iniciar qualquer tipo de interação, necessitando de forte mediação.\r\nNão mantém trocas comunicativas, mesmo quando há intenção de se fazer entender.\r\nPode emitir sons, ecolalias ou vocalizações sem função comunicativa clara.\r\nNecessita de apoio constante de sistemas alternativos ou aumentativos de comunicação (pictogramas, PECS, dispositivos eletrônicos).', NULL, NULL, 'alta', NULL, NULL, 0, 0, '2025-09-10 18:12:25', '2025-09-10 18:12:25'),
(0, 0, 14, 1, '2025-09-10 15:12:26', 'comunicativa', NULL, NULL, 'Apresenta ausência de linguagem verbal funcional ou uso muito restrito de palavras isoladas.\r\nPode não compreender instruções simples sem apoio de gestos ou recursos visuais.\r\nFaz pouco ou nenhum uso espontâneo de comunicação não verbal (gestos, expressões faciais, apontar).\r\nPode recorrer apenas a formas atípicas de comunicação, como puxar a mão do adulto ou conduzi-lo até o objeto desejado.\r\nDemonstra dificuldade em iniciar qualquer tipo de interação, necessitando de forte mediação.\r\nNão mantém trocas comunicativas, mesmo quando há intenção de se fazer entender.\r\nPode emitir sons, ecolalias ou vocalizações sem função comunicativa clara.\r\nNecessita de apoio constante de sistemas alternativos ou aumentativos de comunicação (pictogramas, PECS, dispositivos eletrônicos).', NULL, NULL, 'alta', NULL, NULL, 0, 0, '2025-09-10 18:12:26', '2025-09-10 18:12:26'),
(0, 0, 14, 1, '2025-09-10 20:33:41', 'comportamental', NULL, NULL, 'A ALUNA APRESENTA DISTURBIOS DE COMPORTAMENTO, AS VEZES ASSOCIADO A PARTILHA DE ITENS PESSOAIS PRINCIPALMENTE NO RECREIO, NAO SOCIALIZA COM OS COLEGAS , PREFERE FICAR EM SALA, POREM SE APRESENTA COMO LIDER, PRINCIPALMENTE PARA CHAMAR A ATENCAO DOS COLEGAS . NECESSITA DE PROFISSIONAL DE APOIO CONSTANTE.', NULL, NULL, 'alta', NULL, NULL, 0, 0, '2025-09-10 23:33:41', '2025-09-10 23:33:41'),
(0, 0, 14, 1, '2025-09-10 20:36:17', 'pedagogica', NULL, NULL, 'A ALUNA APRESENTA BOM DESENVOLVIMENTO PEDAGOGICO , MESMO ESTANDO FORA DA IDADE/TURMA.', NULL, NULL, 'baixa', NULL, NULL, 0, 0, '2025-09-10 23:36:17', '2025-09-10 23:36:17'),
(0, 0, 40, 1, '2025-09-23 21:01:48', 'pedagogica', NULL, NULL, 'Reconhece letras do próprio nome. \r\nIdentifica numerais até 10, mas confunde a sequência.\r\nDemonstra interesse por histórias, entretanto ainda\r\nnão reconta os fatos.\r\nConsegue copiar palavras simples com trocas de\r\nletras.', NULL, NULL, 'media', NULL, NULL, 0, 0, '2025-09-24 00:01:48', '2025-09-24 00:01:48'),
(0, 0, 17, 1, '2025-09-24 07:51:24', 'comunicativa', NULL, NULL, 'Dificuldades de comunicação, repete a fala do outro, não complementa frases.', NULL, NULL, 'media', NULL, NULL, 0, 0, '2025-09-24 10:51:24', '2025-09-24 10:51:24'),
(0, 0, 40, 1, '2025-09-24 18:35:57', 'comportamental', NULL, NULL, 'nghfghcghfdghjkhgfghjkjhgfghjkhgfghjkhgfghjgfhjkhgfhjkhgfh', NULL, NULL, 'media', NULL, NULL, 0, 0, '2025-09-24 21:35:57', '2025-09-24 21:35:57'),
(0, 0, 14, 1, '2025-10-08 12:02:23', 'pedagogica', NULL, NULL, 'Aluna com déficits importantes na parte cognitiva. Ainda está em processo de alfabetização.', NULL, NULL, 'alta', NULL, NULL, 0, 0, '2025-10-08 15:02:23', '2025-10-08 15:02:23');

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

--
-- Estrutura para tabela `tea_pei_historico`
--

CREATE TABLE `tea_pei_historico` (
  `id` int NOT NULL,
  `student_id` int NOT NULL,
  `campo_alterado` varchar(100) COLLATE utf8mb4_general_ci NOT NULL,
  `valor_anterior` text COLLATE utf8mb4_general_ci,
  `valor_novo` text COLLATE utf8mb4_general_ci,
  `alterado_por` int NOT NULL,
  `alterado_por_nome` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
  `data_alteracao` timestamp NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

--
-- Despejando dados para a tabela `tea_pei_historico`
--

INSERT INTO `tea_pei_historico` (`id`, `student_id`, `campo_alterado`, `valor_anterior`, `valor_novo`, `alterado_por`, `alterado_por_nome`, `data_alteracao`) VALUES
(1, 8, 'PEI Completo', NULL, 'Cadastro inicial', 11, 'VALDECIR DOS SANTOS', '2025-12-05 12:46:44'),
(2, 9, 'PEI Completo', NULL, 'Cadastro inicial', 14, 'Cinara Aline de Freitas', '2025-12-05 19:03:56');

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

--
-- Estrutura para tabela `tea_planos_educacionais`
--

CREATE TABLE `tea_planos_educacionais` (
  `id` int NOT NULL,
  `student_id` int NOT NULL,
  `teacher_id` int NOT NULL,
  `school_id` int NOT NULL,
  `titulo` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
  `periodo_inicio` date NOT NULL,
  `periodo_fim` date NOT NULL,
  `objetivos_gerais` text COLLATE utf8mb4_general_ci NOT NULL,
  `objetivos_especificos` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
  `adaptacoes_curriculares` text COLLATE utf8mb4_general_ci,
  `estrategias_ensino` text COLLATE utf8mb4_general_ci,
  `recursos_necessarios` text COLLATE utf8mb4_general_ci,
  `criterios_avaliacao` text COLLATE utf8mb4_general_ci,
  `participantes` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'Outros profissionais envolvidos',
  `status` enum('rascunho','ativo','pausado','concluido','cancelado') COLLATE utf8mb4_general_ci DEFAULT 'rascunho',
  `aprovado_coordenacao` tinyint(1) DEFAULT '0',
  `data_aprovacao` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ;

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

--
-- Estrutura para tabela `tea_students`
--

CREATE TABLE `tea_students` (
  `id` int NOT NULL,
  `nome_completo` varchar(255) COLLATE utf8mb4_general_ci NOT NULL,
  `data_nascimento` date DEFAULT NULL,
  `ano_serie` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `turno` enum('manhã','tarde','integral','noite') COLLATE utf8mb4_general_ci DEFAULT NULL,
  `turma` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `school_id` int NOT NULL COMMENT 'Escola do aluno',
  `professor_regente_id` int NOT NULL COMMENT 'Professor responsável (users.id)',
  `parent_user_id` int DEFAULT NULL COMMENT 'Usuário pai/responsável (users.id)',
  `responsavel_nome` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `responsavel_contato` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `responsavel_parentesco` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `diagnostico` text COLLATE utf8mb4_general_ci COMMENT 'Diagnóstico TEA detalhado',
  `nivel_tea` enum('1','2','3') COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '1=leve, 2=moderado, 3=severo',
  `tipo_deficiencia` enum('tea','fisica','visual','auditiva','intelectual','multiplas','altas_habilidades','dupla_excepcionalidade','em_investigacao') COLLATE utf8mb4_general_ci DEFAULT 'tea',
  `tipo_necessidade` enum('deficiencia_fisica','deficiencia_visual','deficiencia_auditiva','deficiencia_intelectual','deficiencias_multiplas','altas_habilidades','dupla_excepcionalidade','em_investigacao','tea') COLLATE utf8mb4_general_ci DEFAULT 'tea',
  `descricao_especificidades` text COLLATE utf8mb4_general_ci,
  `historico_atendimentos` text COLLATE utf8mb4_general_ci COMMENT 'AEE, psicopedagogia, fono, TO, etc',
  `registro_necessidade_educacional` text COLLATE utf8mb4_general_ci,
  `caracteristicas_especiais` text COLLATE utf8mb4_general_ci,
  `medicamentos` text COLLATE utf8mb4_general_ci,
  `alergias` text COLLATE utf8mb4_general_ci,
  `observacoes_medicas` text COLLATE utf8mb4_general_ci,
  `ativo` tinyint(1) DEFAULT '1',
  `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 COMMENT='Alunos com TEA integrados ao sistema escolar';

--
-- Despejando dados para a tabela `tea_students`
--

INSERT INTO `tea_students` (`id`, `nome_completo`, `data_nascimento`, `ano_serie`, `turno`, `turma`, `school_id`, `professor_regente_id`, `parent_user_id`, `responsavel_nome`, `responsavel_contato`, `responsavel_parentesco`, `diagnostico`, `nivel_tea`, `tipo_deficiencia`, `tipo_necessidade`, `descricao_especificidades`, `historico_atendimentos`, `registro_necessidade_educacional`, `caracteristicas_especiais`, `medicamentos`, `alergias`, `observacoes_medicas`, `ativo`, `created_at`, `updated_at`) VALUES
(8, 'João Lucas teste', '2020-09-25', '1º Ano', 'manhã', '2o c', 1, 11, NULL, 'maria imaculada', '(44) 99896-6548', NULL, 'João Lucas teste', '1', 'tea', 'tea', 'João Lucas teste', 'João Lucas teste', 'João Lucas teste', NULL, NULL, NULL, NULL, 1, '2025-12-05 12:46:44', '2025-12-05 12:46:44'),
(9, 'Carlos Henrique Borges Souza', '2020-08-12', 'Pré I', 'integral', NULL, 1, 14, NULL, 'Clarissa Borges', NULL, NULL, 'O estudante possui limitações na comunicação e agitação constante. Necessita de suporte na comunicação, funcionalidade, atividades pedagógicas e socialização.', '3', 'tea', 'tea', NULL, 'Frequenta: T.O, fono, psico, musicoterapia, integração sensorial (Acesse ABA) e psicopedagogia (Luminar)', NULL, NULL, NULL, NULL, NULL, 1, '2025-12-05 19:03:56', '2025-12-05 19:03:56');

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

--
-- Estrutura para tabela `tea_view_alunos_completo`
--

CREATE TABLE `tea_view_alunos_completo` (
  `id` int DEFAULT NULL,
  `nome_completo` varchar(255) DEFAULT NULL,
  `data_nascimento` date DEFAULT NULL,
  `idade` bigint DEFAULT NULL,
  `ano_serie` varchar(50) DEFAULT NULL,
  `turno` enum('manhã','tarde','integral','noite') DEFAULT NULL,
  `turma` varchar(50) DEFAULT NULL,
  `nivel_tea` enum('1','2','3') DEFAULT NULL,
  `diagnostico` text,
  `ativo` tinyint(1) DEFAULT NULL,
  `escola_nome` varchar(255) DEFAULT NULL,
  `professor_nome` varchar(255) DEFAULT NULL,
  `professor_email` varchar(255) DEFAULT NULL,
  `responsavel_nome` varchar(255) DEFAULT NULL,
  `responsavel_email` varchar(255) DEFAULT NULL,
  `total_observacoes` bigint DEFAULT NULL,
  `observacoes_mes` bigint DEFAULT NULL,
  `data_cadastro` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

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

--
-- Estrutura para tabela `user_schools`
--

CREATE TABLE `user_schools` (
  `id` int NOT NULL,
  `user_id` int NOT NULL,
  `school_id` int NOT NULL,
  `position` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='Relacionamento entre usuários e escolas';

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

--
-- Estrutura para tabela `user_sessions`
--

CREATE TABLE `user_sessions` (
  `id` varchar(128) COLLATE utf8mb4_general_ci NOT NULL,
  `user_id` int NOT NULL,
  `ip_address` varchar(45) COLLATE utf8mb4_general_ci DEFAULT NULL,
  `user_agent` text COLLATE utf8mb4_general_ci,
  `login_at` timestamp NULL DEFAULT NULL,
  `last_activity` timestamp NULL DEFAULT NULL,
  `expires_at` timestamp NULL DEFAULT NULL,
  `device_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
  `location_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
  `active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ;

--
-- Acionadores `user_sessions`
--
DELIMITER $$
CREATE TRIGGER `set_session_login_time` BEFORE INSERT ON `user_sessions` FOR EACH ROW BEGIN
    IF NEW.login_at IS NULL THEN
        SET NEW.login_at = CURRENT_TIMESTAMP;
    END IF;
    IF NEW.last_activity IS NULL THEN
        SET NEW.last_activity = CURRENT_TIMESTAMP;
    END IF;
END
$$
DELIMITER ;
DELIMITER $$
CREATE TRIGGER `update_session_activity` BEFORE UPDATE ON `user_sessions` FOR EACH ROW BEGIN
    SET NEW.last_activity = CURRENT_TIMESTAMP;
END
$$
DELIMITER ;

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

--
-- Estrutura para tabela `user_stats`
--

CREATE TABLE `user_stats` (
  `id` int DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  `email` varchar(255) DEFAULT NULL,
  `role` enum('admin','professor','student','parent','director','coordinator','driver') DEFAULT NULL,
  `total_courses` bigint DEFAULT NULL,
  `total_enrollments` bigint DEFAULT NULL,
  `avg_rating` decimal(14,4) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

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

--
-- Estrutura para tabela `user_system_roles`
--

CREATE TABLE `user_system_roles` (
  `id` int NOT NULL,
  `user_id` int NOT NULL,
  `role_code` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
  `system_module` enum('courses','school_communication','tea_assistant','unified') COLLATE utf8mb4_general_ci NOT NULL,
  `context_data` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin COMMENT 'Dados específicos do contexto (escola_id, etc)',
  `granted_by` int DEFAULT NULL COMMENT 'Quem concedeu o papel',
  `granted_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `expires_at` timestamp NULL DEFAULT NULL COMMENT 'Data de expiração do papel',
  `active` tinyint(1) DEFAULT '1',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ;

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

--
-- Estrutura para tabela `wwsist_educa`
--

CREATE TABLE `wwsist_educa` (
  `id` int NOT NULL,
  `nome` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3;

--
-- Índices para tabelas despejadas
--

--
-- Índices de tabela `certificates`
--
ALTER TABLE `certificates`
  ADD UNIQUE KEY `unique_user_course_certificate` (`user_id`,`course_id`),
  ADD UNIQUE KEY `certificates_certificate_code` (`certificate_code`);

--
-- Índices de tabela `courses`
--
ALTER TABLE `courses`
  ADD PRIMARY KEY (`id`);

--
-- Índices de tabela `enrollments`
--
ALTER TABLE `enrollments`
  ADD UNIQUE KEY `unique_enrollment` (`user_id`,`course_id`);

--
-- Índices de tabela `lessons`
--
ALTER TABLE `lessons`
  ADD PRIMARY KEY (`id`),
  ADD KEY `lessons_module_id_order` (`module_id`,`order`),
  ADD KEY `lessons_type` (`type`),
  ADD KEY `lessons_is_published` (`is_published`),
  ADD KEY `lessons_is_free` (`is_free`);

--
-- Índices de tabela `modules`
--
ALTER TABLE `modules`
  ADD KEY `modules_course_id_order` (`course_id`,`order`),
  ADD KEY `modules_is_published` (`is_published`);

--
-- Índices de tabela `tea_aee`
--
ALTER TABLE `tea_aee`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `student_id` (`student_id`),
  ADD KEY `idx_student` (`student_id`);

--
-- Índices de tabela `tea_apoio_escolar`
--
ALTER TABLE `tea_apoio_escolar`
  ADD PRIMARY KEY (`id`),
  ADD UNIQUE KEY `student_id` (`student_id`),
  ADD KEY `idx_student` (`student_id`);

--
-- Índices de tabela `tea_barreiras`
--
ALTER TABLE `tea_barreiras`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_student` (`student_id`),
  ADD KEY `idx_tipo` (`tipo`),
  ADD KEY `marcado_por` (`marcado_por`);

--
-- Índices de tabela `tea_episodios`
--
ALTER TABLE `tea_episodios`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_student` (`student_id`),
  ADD KEY `idx_data` (`data_episodio`),
  ADD KEY `registrado_por` (`registrado_por`);

--
-- Índices de tabela `tea_pei_historico`
--
ALTER TABLE `tea_pei_historico`
  ADD PRIMARY KEY (`id`),
  ADD KEY `idx_student` (`student_id`),
  ADD KEY `idx_data` (`data_alteracao`),
  ADD KEY `alterado_por` (`alterado_por`);

--
-- Índices de tabela `tea_students`
--
ALTER TABLE `tea_students`
  ADD PRIMARY KEY (`id`);

--
-- Índices de tabela `wwsist_educa`
--
ALTER TABLE `wwsist_educa`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT para tabelas despejadas
--

--
-- AUTO_INCREMENT de tabela `courses`
--
ALTER TABLE `courses`
  MODIFY `id` int NOT NULL AUTO_INCREMENT;

--
-- AUTO_INCREMENT de tabela `lessons`
--
ALTER TABLE `lessons`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;

--
-- AUTO_INCREMENT de tabela `tea_aee`
--
ALTER TABLE `tea_aee`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT de tabela `tea_apoio_escolar`
--
ALTER TABLE `tea_apoio_escolar`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=7;

--
-- AUTO_INCREMENT de tabela `tea_barreiras`
--
ALTER TABLE `tea_barreiras`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=112;

--
-- AUTO_INCREMENT de tabela `tea_episodios`
--
ALTER TABLE `tea_episodios`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

--
-- AUTO_INCREMENT de tabela `tea_pei_historico`
--
ALTER TABLE `tea_pei_historico`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

--
-- AUTO_INCREMENT de tabela `tea_students`
--
ALTER TABLE `tea_students`
  MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10;

--
-- AUTO_INCREMENT de tabela `wwsist_educa`
--
ALTER TABLE `wwsist_educa`
  MODIFY `id` int NOT NULL AUTO_INCREMENT;

--
-- Restrições para tabelas despejadas
--

--
-- Restrições para tabelas `tea_aee`
--
ALTER TABLE `tea_aee`
  ADD CONSTRAINT `tea_aee_ibfk_1` FOREIGN KEY (`student_id`) REFERENCES `tea_students` (`id`) ON DELETE CASCADE;

--
-- Restrições para tabelas `tea_apoio_escolar`
--
ALTER TABLE `tea_apoio_escolar`
  ADD CONSTRAINT `tea_apoio_escolar_ibfk_1` FOREIGN KEY (`student_id`) REFERENCES `tea_students` (`id`) ON DELETE CASCADE;

--
-- Restrições para tabelas `tea_barreiras`
--
ALTER TABLE `tea_barreiras`
  ADD CONSTRAINT `tea_barreiras_ibfk_1` FOREIGN KEY (`student_id`) REFERENCES `tea_students` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `tea_barreiras_ibfk_2` FOREIGN KEY (`marcado_por`) REFERENCES `users` (`id`) ON DELETE SET NULL;

--
-- Restrições para tabelas `tea_episodios`
--
ALTER TABLE `tea_episodios`
  ADD CONSTRAINT `tea_episodios_ibfk_1` FOREIGN KEY (`student_id`) REFERENCES `tea_students` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `tea_episodios_ibfk_2` FOREIGN KEY (`registrado_por`) REFERENCES `users` (`id`) ON DELETE CASCADE;

--
-- Restrições para tabelas `tea_pei_historico`
--
ALTER TABLE `tea_pei_historico`
  ADD CONSTRAINT `tea_pei_historico_ibfk_1` FOREIGN KEY (`student_id`) REFERENCES `tea_students` (`id`) ON DELETE CASCADE,
  ADD CONSTRAINT `tea_pei_historico_ibfk_2` FOREIGN KEY (`alterado_por`) REFERENCES `users` (`id`) ON DELETE CASCADE;
COMMIT;

