-- ============================================================
-- Database lengkap: SD Negeri 4 Keling
-- Cara pakai:
-- 1. Buka phpMyAdmin di Laragon
-- 2. Klik tab "SQL" (tidak perlu bikin database kosong dulu,
--    file ini sudah membuatkannya sendiri)
-- 3. Copy-paste seluruh isi file ini, lalu klik "Go" / "Kirim"
-- 4. Selesai — tidak perlu jalankan `php artisan migrate` lagi,
--    karena isi migrations sudah "ditandai selesai" di file ini.
--    File upload (foto dsb) langsung tersimpan di public/uploads,
--    jadi TIDAK perlu `storage:link` lagi.
-- ============================================================

SET FOREIGN_KEY_CHECKS=0;
SET NAMES utf8mb4;

CREATE DATABASE IF NOT EXISTS `sdnegeri4keling` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE `sdnegeri4keling`;

-- ============================================================
-- TABEL BAWAAN LARAVEL (wajib ada, dipakai sistem)
-- ============================================================

DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `email` varchar(255) NOT NULL,
  `email_verified_at` timestamp NULL DEFAULT NULL,
  `password` varchar(255) NOT NULL,
  `remember_token` varchar(100) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `users_email_unique` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Akun admin default untuk login ke /admin.
-- Email    : admin@sdn4keling.sch.id
-- Password : admin12345
-- PENTING: segera ganti password ini setelah login pertama kali!
INSERT INTO `users` (`name`,`email`,`password`,`created_at`,`updated_at`) VALUES
('Admin SD Negeri 4 Keling','admin@sdn4keling.sch.id','$2y$12$dGOgXyb3xUmTCdHymWYTT.nr55rE2KLFrikholCDjx3ynDo8CeZOm',NOW(),NOW());

DROP TABLE IF EXISTS `password_reset_tokens`;
CREATE TABLE `password_reset_tokens` (
  `email` varchar(255) NOT NULL,
  `token` varchar(255) NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

DROP TABLE IF EXISTS `sessions`;
CREATE TABLE `sessions` (
  `id` varchar(255) NOT NULL,
  `user_id` bigint unsigned DEFAULT NULL,
  `ip_address` varchar(45) DEFAULT NULL,
  `user_agent` text,
  `payload` longtext NOT NULL,
  `last_activity` int NOT NULL,
  PRIMARY KEY (`id`),
  KEY `sessions_user_id_index` (`user_id`),
  KEY `sessions_last_activity_index` (`last_activity`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

DROP TABLE IF EXISTS `cache`;
CREATE TABLE `cache` (
  `key` varchar(255) NOT NULL,
  `value` mediumtext NOT NULL,
  `expiration` int NOT NULL,
  PRIMARY KEY (`key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

DROP TABLE IF EXISTS `cache_locks`;
CREATE TABLE `cache_locks` (
  `key` varchar(255) NOT NULL,
  `owner` varchar(255) NOT NULL,
  `expiration` int NOT NULL,
  PRIMARY KEY (`key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

DROP TABLE IF EXISTS `jobs`;
CREATE TABLE `jobs` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `queue` varchar(255) NOT NULL,
  `payload` longtext NOT NULL,
  `attempts` tinyint unsigned NOT NULL,
  `reserved_at` int unsigned DEFAULT NULL,
  `available_at` int unsigned NOT NULL,
  `created_at` int unsigned NOT NULL,
  PRIMARY KEY (`id`),
  KEY `jobs_queue_index` (`queue`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

DROP TABLE IF EXISTS `job_batches`;
CREATE TABLE `job_batches` (
  `id` varchar(255) NOT NULL,
  `name` varchar(255) NOT NULL,
  `total_jobs` int NOT NULL,
  `pending_jobs` int NOT NULL,
  `failed_jobs` int NOT NULL,
  `failed_job_ids` longtext NOT NULL,
  `options` mediumtext,
  `cancelled_at` int DEFAULT NULL,
  `created_at` int NOT NULL,
  `finished_at` int DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

DROP TABLE IF EXISTS `failed_jobs`;
CREATE TABLE `failed_jobs` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `uuid` varchar(255) NOT NULL,
  `connection` text NOT NULL,
  `queue` text NOT NULL,
  `payload` longtext NOT NULL,
  `exception` longtext NOT NULL,
  `failed_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

DROP TABLE IF EXISTS `migrations`;
CREATE TABLE `migrations` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `migration` varchar(255) NOT NULL,
  `batch` int NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO `migrations` (`migration`, `batch`) VALUES
('0001_01_01_000000_create_users_table', 1),
('0001_01_01_000001_create_cache_table', 1),
('0001_01_01_000002_create_jobs_table', 1),
('2025_01_01_000005_create_hero_slides_table', 1),
('2025_01_01_000010_create_kepala_sekolah_profil_table', 1),
('2025_01_01_000020_create_visi_misi_table', 1),
('2025_01_01_000030_create_struktur_organisasis_table', 1),
('2025_01_01_000040_create_fasilitas_table', 1),
('2025_01_01_000050_create_guru_stafs_table', 1),
('2025_01_01_000060_create_berita_acaras_table', 1),
('2025_01_01_000070_create_rss_sources_table', 1),
('2025_01_01_000080_create_ekstrakurikulers_table', 1),
('2025_01_01_000090_create_program_sekolahs_table', 1),
('2025_01_01_000100_create_kelas_table', 1),
('2025_01_01_000110_create_siswas_table', 1),
('2025_01_01_000120_add_foto_to_struktur_organisasis_table', 1),
('2025_01_01_000130_add_video_file_to_berita_acaras_table', 1),
('2025_01_01_000135_add_sumber_url_to_berita_acaras_table', 1),
('2025_01_01_000140_create_sejarah_sekolahs_table', 1),
('2025_01_01_000150_create_kontak_info_table', 1),
('2025_01_01_000160_create_pesan_masuks_table', 1),
('2025_01_01_000170_create_jadwal_ppdbs_table', 1),
('2025_01_01_000180_create_ppdb_infos_table', 1),
('2025_01_01_000190_create_pendaftarans_table', 1),
('2025_01_01_000200_widen_pendaftaran_numeric_columns', 1),
('2025_01_01_000210_restructure_jadwal_ppdbs_table', 1),
('2025_01_01_000220_add_social_platform_to_guru_stafs_table', 1),
('2025_01_01_000230_rename_staf_to_tendik_in_guru_stafs', 1),
('2025_01_01_000240_create_page_hero_images_table', 1);

-- ============================================================
-- HERO SLIDES (Beranda)
-- ============================================================
DROP TABLE IF EXISTS `hero_slides`;
CREATE TABLE `hero_slides` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `eyebrow` varchar(255) DEFAULT NULL,
  `judul` varchar(255) NOT NULL,
  `caption` text,
  `gambar` varchar(255) NOT NULL,
  `urutan` int NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO `hero_slides` (`eyebrow`,`judul`,`caption`,`gambar`,`urutan`,`created_at`,`updated_at`) VALUES
('Kegiatan','Upacara','Sebuah Kegiatan Yang\nDilaksanakan Setiap Hari Senin','https://images.unsplash.com/photo-1523050854058-8df90110c9f1?w=1600&q=85',0,NOW(),NOW()),
('Acara','Perayaan Agustusan','Memperingati Hari Kemerdekaan\nRepublik Indonesia','https://images.unsplash.com/photo-1577896851231-70ef18881754?w=1600&q=85',1,NOW(),NOW()),
('Pembelajaran','Kegiatan Belajar','Menciptakan Lingkungan Belajar\nyang Menyenangkan','https://images.unsplash.com/photo-1503676260728-1c00da094a0b?w=1600&q=85',2,NOW(),NOW()),
('Ekstrakurikuler','Olahraga & Seni','Mengembangkan Bakat dan Potensi\nSetiap Siswa','https://images.unsplash.com/photo-1560439514-4e9645039924?w=1600&q=85',3,NOW(),NOW()),
('Prestasi','Wisuda Siswa','Merayakan Pencapaian dan Kesuksesan\nPara Siswa Berprestasi','https://images.unsplash.com/photo-1580582932707-520aed937b7b?w=1600&q=85',4,NOW(),NOW());

-- ============================================================
-- KEPALA SEKOLAH
-- ============================================================
DROP TABLE IF EXISTS `kepala_sekolah_profil`;
CREATE TABLE `kepala_sekolah_profil` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `nama` varchar(255) NOT NULL,
  `nip` varchar(255) DEFAULT NULL,
  `foto` varchar(255) DEFAULT NULL,
  `sambutan` text NOT NULL,
  `riwayat_pendidikan` text,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO `kepala_sekolah_profil` (`nama`,`nip`,`foto`,`sambutan`,`riwayat_pendidikan`,`created_at`,`updated_at`) VALUES
('Drs. Ahmad Fauzi, M.Pd.','196804121990031005','sejarah.jpg',
'Assalamu''alaikum warahmatullahi wabarakatuh. Selamat datang di website resmi SD Negeri 4 Keling. Kami berkomitmen memberikan pendidikan terbaik yang berlandaskan iman, taqwa, dan ilmu pengetahuan bagi seluruh siswa-siswi kami.',
'S1 Pendidikan Guru Sekolah Dasar - Universitas Negeri Semarang (1992), S2 Manajemen Pendidikan - Universitas Negeri Semarang (2005).',
NOW(),NOW());

-- ============================================================
-- VISI & MISI
-- ============================================================
DROP TABLE IF EXISTS `visi_misi`;
CREATE TABLE `visi_misi` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `visi` text NOT NULL,
  `misi` json NOT NULL,
  `tujuan_umum` text NOT NULL,
  `tujuan_khusus` json NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO `visi_misi` (`visi`,`misi`,`tujuan_umum`,`tujuan_khusus`,`created_at`,`updated_at`) VALUES
('Terwujudnya peserta didik yang beriman, bertaqwa, berkarakter, cerdas, dan mandiri.',
JSON_ARRAY(
  'Menyelenggarakan pembelajaran yang aktif, kreatif, dan menyenangkan bagi seluruh siswa.',
  'Menanamkan nilai-nilai keimanan dan ketaqwaan dalam setiap kegiatan sekolah.',
  'Membentuk karakter siswa yang disiplin, jujur, dan bertanggung jawab.',
  'Mengembangkan potensi akademik dan non-akademik siswa secara optimal.',
  'Menjalin kerja sama yang baik antara sekolah, orang tua, dan masyarakat.'
),
'Menghasilkan lulusan yang berakhlak mulia, cerdas, kompetitif, serta siap melanjutkan pendidikan ke jenjang yang lebih tinggi.',
JSON_ARRAY(
  'Meningkatkan prestasi akademik siswa melalui proses pembelajaran yang bermutu.',
  'Menumbuhkan budaya membaca dan literasi sejak usia dini.',
  'Membina bakat dan minat siswa melalui kegiatan ekstrakurikuler yang beragam.',
  'Menanamkan sikap peduli lingkungan dan kesadaran hidup sehat.',
  'Menyiapkan siswa yang siap bersaing dan melanjutkan ke jenjang SMP.'
),
NOW(),NOW());

-- ============================================================
-- SEJARAH SEKOLAH
-- ============================================================
DROP TABLE IF EXISTS `sejarah_sekolahs`;
CREATE TABLE `sejarah_sekolahs` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `konten` text NOT NULL,
  `latar_belakang` text,
  `pencapaian` text,
  `gambar` varchar(255) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO `sejarah_sekolahs` (`konten`,`latar_belakang`,`pencapaian`,`gambar`,`created_at`,`updated_at`) VALUES
('SD Negeri 4 Keling berdiri pada tahun 1975 di Kecamatan Keling, Kabupaten Jepara, Jawa Tengah. Bermula dari inisiatif masyarakat setempat yang ingin menghadirkan akses pendidikan dasar yang berkualitas bagi anak-anak di sekitar Desa Keling dan sekitarnya. Dengan dukungan pemerintah daerah dan tokoh masyarakat, sekolah ini resmi beroperasi dengan tenaga pengajar yang berdedikasi tinggi dan semangat membangun generasi penerus bangsa.',
'Kebutuhan akan pendidikan dasar yang terjangkau dan berkualitas menjadi dasar berdirinya sekolah ini. Pada masa itu, akses pendidikan di wilayah Keling masih sangat terbatas. Para tokoh masyarakat bersama pemerintah daerah bersepakat untuk mendirikan sekolah yang tidak hanya mengajarkan ilmu pengetahuan, tetapi juga membentuk karakter dan budi pekerti siswa sejak dini.',
'Selama lebih dari empat dekade, SD Negeri 4 Keling telah meluluskan ribuan siswa yang kini tersebar di berbagai bidang profesi. Sekolah ini pernah meraih predikat Sekolah Adiwiyata tingkat Kabupaten, serta berbagai prestasi akademik dan non-akademik di tingkat kecamatan maupun kabupaten.',
'sejarah.jpg',NOW(),NOW());

-- ============================================================
-- STRUKTUR ORGANISASI
-- ============================================================
DROP TABLE IF EXISTS `struktur_organisasis`;
CREATE TABLE `struktur_organisasis` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `nama` varchar(255) NOT NULL,
  `jabatan` varchar(255) NOT NULL,
  `foto` varchar(255) DEFAULT NULL,
  `parent_id` bigint unsigned DEFAULT NULL,
  `kelompok` varchar(255) DEFAULT NULL,
  `urutan` int NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `struktur_organisasis_parent_id_foreign` (`parent_id`),
  CONSTRAINT `struktur_organisasis_parent_id_foreign` FOREIGN KEY (`parent_id`) REFERENCES `struktur_organisasis` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO `struktur_organisasis` (`id`,`nama`,`jabatan`,`foto`,`parent_id`,`kelompok`,`urutan`,`created_at`,`updated_at`) VALUES
(1,'Drs. Ahmad Fauzi, M.Pd.','Kepala Sekolah',NULL,NULL,NULL,0,NOW(),NOW()),
(2,'Perwakilan Orang Tua Siswa','Komite Sekolah',NULL,1,'Manajemen',1,NOW(),NOW()),
(3,'Ibu Sunarti','Perpustakaan',NULL,1,'Manajemen',2,NOW(),NOW()),
(4,'Bapak Bambang Irawan','Tata Usaha',NULL,1,'Manajemen',3,NOW(),NOW()),
(5,'Ibu Siti Rahayu, S.Pd','Guru Kelas 1',NULL,1,'Guru Kelas & Mapel',4,NOW(),NOW()),
(6,'Bapak Ahmad Fauzi, S.Pd','Guru Kelas 2',NULL,1,'Guru Kelas & Mapel',5,NOW(),NOW()),
(7,'Ibu Dwi Lestari, S.Pd','Guru Kelas 3',NULL,1,'Guru Kelas & Mapel',6,NOW(),NOW()),
(8,'Bapak Hendra Saputra, S.Pd','Guru Kelas 4',NULL,1,'Guru Kelas & Mapel',7,NOW(),NOW()),
(9,'Ibu Nurul Hidayah, S.Pd','Guru Kelas 5',NULL,1,'Guru Kelas & Mapel',8,NOW(),NOW()),
(10,'Bapak Supriyanto, S.Pd','Guru Kelas 6',NULL,1,'Guru Kelas & Mapel',9,NOW(),NOW()),
(11,'Bapak Muslih, S.Pd.I','Guru Agama',NULL,1,'Guru Kelas & Mapel',10,NOW(),NOW()),
(12,'Bapak Joko Susilo, S.Pd','Guru OR',NULL,1,'Guru Kelas & Mapel',11,NOW(),NOW()),
(13,'Ibu Sunarti','Pustakawan',NULL,1,'Tenaga Pendukung',12,NOW(),NOW()),
(14,'Ibu Dewi Kristina, S.Pd','Guru Bahasa Inggris',NULL,1,'Tenaga Pendukung',13,NOW(),NOW()),
(15,'Bapak Gatot Subroto','Bendahara',NULL,1,'Tenaga Pendukung',14,NOW(),NOW()),
(16,'Ibu Rini Setyowati','Guru Tari',NULL,1,'Tenaga Pendukung',15,NOW(),NOW()),
(17,'Bapak Sugiyono','Pesuruh',NULL,1,'Tenaga Pendukung',16,NOW(),NOW()),
(18,'Masyarakat Sekitar','Masyarakat',NULL,17,NULL,0,NOW(),NOW());

-- ============================================================
-- FASILITAS SEKOLAH
-- ============================================================
DROP TABLE IF EXISTS `fasilitas`;
CREATE TABLE `fasilitas` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `nama` varchar(255) NOT NULL,
  `deskripsi` text NOT NULL,
  `gambar` varchar(255) DEFAULT NULL,
  `urutan` int NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO `fasilitas` (`nama`,`deskripsi`,`gambar`,`urutan`,`created_at`,`updated_at`) VALUES
('Ruang Kelas','6 ruang kelas representatif dengan pencahayaan alami, dilengkapi meja-kursi yang nyaman untuk mendukung proses belajar.','https://images.unsplash.com/photo-1580582932707-520aed937b7b?w=600&q=80',0,NOW(),NOW()),
('Perpustakaan','Koleksi buku pelajaran, cerita anak, dan referensi umum untuk menumbuhkan minat baca siswa sejak dini.','https://images.unsplash.com/photo-1521587760476-6c12a4b040da?w=600&q=80',1,NOW(),NOW()),
('Laboratorium Komputer','Ruang komputer untuk pengenalan teknologi informasi dan mendukung pembelajaran literasi digital.','https://images.unsplash.com/photo-1503676260728-1c00da094a0b?w=600&q=80',2,NOW(),NOW()),
('UKS (Unit Kesehatan Sekolah)','Ruang kesehatan dengan perlengkapan P3K dasar untuk penanganan pertama siswa yang sakit atau cedera ringan.','https://images.unsplash.com/photo-1580281657702-257584239a55?w=600&q=80',3,NOW(),NOW()),
('Lapangan Olahraga','Lapangan serbaguna untuk kegiatan upacara, olahraga, senam pagi, dan berbagai perlombaan sekolah.','https://images.unsplash.com/photo-1526676037777-05a232554f77?w=600&q=80',4,NOW(),NOW()),
('Musholla','Tempat ibadah dan praktik keagamaan bagi siswa muslim dalam kegiatan sehari-hari maupun keagamaan.','https://images.unsplash.com/photo-1519817650390-64a93db51149?w=600&q=80',5,NOW(),NOW()),
('Kantin Sekolah','Menyediakan jajanan dan makanan sehat bagi siswa dengan pengawasan kebersihan dan gizi yang terjaga.','https://images.unsplash.com/photo-1567521464027-f127ff144326?w=600&q=80',6,NOW(),NOW()),
('Ruang Guru','Ruang kerja bagi para guru untuk mempersiapkan bahan ajar dan berkoordinasi antar tenaga pendidik.','https://images.unsplash.com/photo-1497366811353-6870744d04b2?w=600&q=80',7,NOW(),NOW()),
('Toilet & Sanitasi','Fasilitas toilet terpisah untuk siswa putra dan putri dengan kondisi bersih dan terawat.',NULL,8,NOW(),NOW());

-- ============================================================
-- GURU & STAF
-- ============================================================
DROP TABLE IF EXISTS `guru_stafs`;
CREATE TABLE `guru_stafs` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `kategori` enum('Guru','Tendik') NOT NULL,
  `nama` varchar(255) NOT NULL,
  `nip` varchar(255) DEFAULT NULL,
  `jabatan` varchar(255) NOT NULL,
  `pendidikan` varchar(255) DEFAULT NULL,
  `status` enum('PNS','Honorer','P3K') NOT NULL DEFAULT 'Honorer',
  `telepon` varchar(255) DEFAULT NULL,
  `social_handle` varchar(255) DEFAULT NULL,
  `social_url` varchar(255) DEFAULT NULL,
  `social_platform` varchar(255) NOT NULL DEFAULT 'instagram',
  `foto` varchar(255) DEFAULT NULL,
  `urutan` int NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO `guru_stafs` (`kategori`,`nama`,`nip`,`jabatan`,`pendidikan`,`status`,`telepon`,`social_handle`,`social_url`,`foto`,`urutan`,`created_at`,`updated_at`) VALUES
('Guru','Bapak Supriyanto, S.Pd','196804121990031005','Kepala Sekolah & Guru Kelas VI','S1 Pendidikan Dasar','PNS','081234567890','@supriyanto','https://instagram.com/supriyanto','sejarah.jpg',0,NOW(),NOW()),
('Guru','Ibu Siti Rahayu, S.Pd','197203051998022001','Guru Kelas I','S1 PGSD','PNS','081234567891','@sitirahayu','https://instagram.com/sitirahayu','sejarah.jpg',1,NOW(),NOW()),
('Guru','Bapak Ahmad Fauzi, S.Pd','197510121999031003','Guru Kelas II','S1 PGSD','PNS','081234567892','@ahmadfauzi','https://instagram.com/ahmadfauzi','sejarah.jpg',2,NOW(),NOW()),
('Tendik','Bapak Bambang Irawan',NULL,'Kepala Tata Usaha','D3 Administrasi','PNS','081234567893','@bambangirawan','https://instagram.com/bambangirawan','sejarah.jpg',3,NOW(),NOW()),
('Tendik','Ibu Rini Setyowati',NULL,'Staf Administrasi','SMA','Honorer','081234567894','@rinisetyowati','https://instagram.com/rinisetyowati','sejarah.jpg',4,NOW(),NOW()),
('Tendik','Bapak Gatot Subroto',NULL,'Bendahara Sekolah','D3 Akuntansi','PNS','081234567895','@gatotsubroto','https://instagram.com/gatotsubroto','sejarah.jpg',5,NOW(),NOW()),
('Tendik','Ibu Dewi Kristina',NULL,'Operator Komputer / Dapodik','S1 Sistem Informasi','Honorer','081234567896','@dewikristina','https://instagram.com/dewikristina','sejarah.jpg',6,NOW(),NOW()),
('Tendik','Bapak Sugiyono',NULL,'Penjaga Sekolah','SMA','Honorer','081234567897','@sugiyono','https://instagram.com/sugiyono','sejarah.jpg',7,NOW(),NOW()),
('Tendik','Bapak Triyono',NULL,'Petugas Kebersihan','SMP','Honorer','081234567898','@triyono','https://instagram.com/triyono','sejarah.jpg',8,NOW(),NOW()),
('Tendik','Ibu Sunarti',NULL,'Petugas Perpustakaan','D3 Perpustakaan','PNS','081234567899','@sunarti','https://instagram.com/sunarti','sejarah.jpg',9,NOW(),NOW()),
('Tendik','Bapak Eko Wahyudi',NULL,'Petugas Keamanan','SMA','Honorer','081234567800','@ekowahyudi','https://instagram.com/ekowahyudi','sejarah.jpg',10,NOW(),NOW());

-- ============================================================
-- BERITA & ACARA
-- ============================================================
DROP TABLE IF EXISTS `berita_acaras`;
CREATE TABLE `berita_acaras` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `type` enum('berita','acara') NOT NULL,
  `judul` varchar(255) NOT NULL,
  `tanggal` date NOT NULL,
  `deskripsi` text NOT NULL,
  `konten` longtext,
  `gambar` varchar(255) DEFAULT NULL,
  `video` tinyint(1) NOT NULL DEFAULT 0,
  `video_url` varchar(255) DEFAULT NULL,
  `video_file` varchar(255) DEFAULT NULL,
  `rss_source` varchar(255) DEFAULT NULL,
  `sumber_url` varchar(255) DEFAULT NULL,
  `rss_guid` varchar(255) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO `berita_acaras` (`type`,`judul`,`tanggal`,`deskripsi`,`konten`,`gambar`,`video`,`created_at`,`updated_at`) VALUES
('acara','Upacara Hari Senin','2026-01-06','Upacara bendera rutin setiap hari Senin yang diikuti seluruh siswa, guru, dan staf SD Negeri 4 Keling.','Upacara bendera rutin setiap hari Senin yang diikuti seluruh siswa, guru, dan staf SD Negeri 4 Keling.','https://images.unsplash.com/photo-1577896851231-70ef18881754?w=600&q=80',1,NOW(),NOW()),
('berita','Perayaan Lomba Agustusan','2025-08-17','Kemeriahan berbagai lomba dalam rangka memperingati HUT RI ke-80 yang diikuti seluruh siswa.','Kemeriahan berbagai lomba dalam rangka memperingati HUT RI ke-80 yang diikuti seluruh siswa.','https://images.unsplash.com/photo-1560439514-4e9645039924?w=600&q=80',0,NOW(),NOW()),
('berita','Penerimaan Siswa Baru 2025','2025-07-10','SD Negeri 4 Keling resmi membuka pendaftaran siswa baru tahun ajaran 2025/2026 mulai tanggal 10 Juli.','SD Negeri 4 Keling resmi membuka pendaftaran siswa baru tahun ajaran 2025/2026 mulai tanggal 10 Juli.',NULL,0,NOW(),NOW()),
('acara','Wisuda Kelas 6','2025-06-15','Pelepasan dan wisuda siswa kelas 6 angkatan 2025 berlangsung meriah dan penuh haru.','Pelepasan dan wisuda siswa kelas 6 angkatan 2025 berlangsung meriah dan penuh haru.','https://images.unsplash.com/photo-1580582932707-520aed937b7b?w=600&q=80',1,NOW(),NOW()),
('berita','Hari Pendidikan Nasional','2025-05-02','Peringatan Hardiknas 2025 diramaikan dengan berbagai perlombaan dan penampilan seni siswa.','Peringatan Hardiknas 2025 diramaikan dengan berbagai perlombaan dan penampilan seni siswa.','https://images.unsplash.com/photo-1523050854058-8df90110c9f1?w=600&q=80',0,NOW(),NOW()),
('acara','Hari Kartini','2025-04-20','Siswa berpakaian adat Jawa dan tampil dalam pentas seni budaya memperingati Hari Kartini.','Siswa berpakaian adat Jawa dan tampil dalam pentas seni budaya memperingati Hari Kartini.','https://images.unsplash.com/photo-1588072432836-e10032774350?w=600&q=80',0,NOW(),NOW());

-- ============================================================
-- SUMBER RSS (kosong dulu, diisi lewat admin)
-- ============================================================
DROP TABLE IF EXISTS `rss_sources`;
CREATE TABLE `rss_sources` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `nama` varchar(255) DEFAULT NULL,
  `url` varchar(255) NOT NULL,
  `type` enum('berita','acara') NOT NULL DEFAULT 'berita',
  `last_synced_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO `rss_sources` (`nama`,`url`,`type`,`created_at`,`updated_at`) VALUES
('detikEdu - Pendidikan','https://www.detik.com/edu/rss','berita',NOW(),NOW()),
('ANTARA News - Pendidikan','https://sumbar.antaranews.com/rss/pendidikan.xml','berita',NOW(),NOW());

-- ============================================================
-- EKSTRAKURIKULER
-- ============================================================
DROP TABLE IF EXISTS `ekstrakurikulers`;
CREATE TABLE `ekstrakurikulers` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `nama` varchar(255) NOT NULL,
  `deskripsi` text NOT NULL,
  `jadwal` varchar(255) NOT NULL,
  `pembina` varchar(255) NOT NULL,
  `gambar` varchar(255) DEFAULT NULL,
  `warna` enum('biru','kuning','merah') NOT NULL DEFAULT 'biru',
  `urutan` int NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO `ekstrakurikulers` (`nama`,`deskripsi`,`jadwal`,`pembina`,`gambar`,`warna`,`urutan`,`created_at`,`updated_at`) VALUES
('Pramuka','Membentuk kedisiplinan, kemandirian, dan jiwa kepemimpinan siswa melalui berbagai kegiatan kepramukaan.','Jumat, 14.00–16.00','Bapak Ahmad Fauzi, S.Pd.','https://images.unsplash.com/photo-1504280390367-361c6d9f38f4?w=600&q=80','biru',0,NOW(),NOW()),
('Futsal','Melatih fisik, kerja sama tim, dan sportivitas siswa melalui olahraga futsal secara rutin.','Rabu, 15.00–16.30','Bapak Sugiyono','https://images.unsplash.com/photo-1571056642424-748ee3c62b39?w=600&q=80','kuning',1,NOW(),NOW()),
('Seni Tari','Mengembangkan kreativitas dan kepercayaan diri siswa melalui tari tradisional dan modern.','Selasa, 14.00–15.30','Ibu Siti Rahayu, S.Pd.','https://images.unsplash.com/photo-1508700115892-45ecd05ae2ad?w=600&q=80','merah',2,NOW(),NOW()),
('Drumband','Melatih kekompakan dan ketepatan irama siswa dalam formasi musik marching band sekolah.','Kamis, 14.00–16.00','Bapak Bambang Irawan','https://images.unsplash.com/photo-1461784180009-27c171242461?w=600&q=80','biru',3,NOW(),NOW()),
('Seni Lukis','Menyalurkan bakat menggambar dan melukis siswa dengan berbagai teknik dan media.','Senin, 14.00–15.30','Ibu Dewi Kristina','https://images.unsplash.com/photo-1541961017774-22349e4a1262?w=600&q=80','kuning',4,NOW(),NOW()),
('Baca Tulis Qur''an','Membimbing siswa dalam membaca, menulis, dan memahami Al-Qur''an dengan baik dan benar.','Sabtu, 08.00–09.30','Bapak Supriyanto, S.Pd.','https://images.unsplash.com/photo-1609599006353-e629aaabfeae?w=600&q=80','merah',5,NOW(),NOW());

-- ============================================================
-- PROGRAM SEKOLAH
-- ============================================================
DROP TABLE IF EXISTS `program_sekolahs`;
CREATE TABLE `program_sekolahs` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `nama` varchar(255) NOT NULL,
  `kategori` varchar(255) NOT NULL,
  `deskripsi` text NOT NULL,
  `konten` longtext,
  `gambar` varchar(255) DEFAULT NULL,
  `warna` enum('biru','kuning','merah') NOT NULL DEFAULT 'biru',
  `urutan` int NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO `program_sekolahs` (`nama`,`kategori`,`deskripsi`,`konten`,`gambar`,`warna`,`urutan`,`created_at`,`updated_at`) VALUES
('Kurikulum Merdeka','Akademik','Menerapkan Kurikulum Merdeka dengan pembelajaran yang lebih fleksibel dan berpusat pada kebutuhan serta minat siswa.','Menerapkan Kurikulum Merdeka dengan pembelajaran yang lebih fleksibel dan berpusat pada kebutuhan serta minat siswa.','https://images.unsplash.com/photo-1503676382389-4809596d5290?w=800&q=80','biru',0,NOW(),NOW()),
('Gerakan Literasi Sekolah','Literasi','Membiasakan siswa membaca 15 menit sebelum pelajaran dimulai untuk menumbuhkan budaya literasi sejak dini.','Membiasakan siswa membaca 15 menit sebelum pelajaran dimulai untuk menumbuhkan budaya literasi sejak dini.','https://images.unsplash.com/photo-1481627834876-b7833e8f5570?w=800&q=80','kuning',1,NOW(),NOW()),
('Penguatan Pendidikan Karakter','Karakter','Menanamkan nilai kejujuran, disiplin, dan tanggung jawab melalui pembiasaan rutin di sekolah.','Menanamkan nilai kejujuran, disiplin, dan tanggung jawab melalui pembiasaan rutin di sekolah.','https://images.unsplash.com/photo-1509062522246-3755977927d7?w=800&q=80','merah',2,NOW(),NOW()),
('Sekolah Adiwiyata','Lingkungan','Menumbuhkan kepedulian lingkungan melalui program penghijauan, pengelolaan sampah, dan kebersihan sekolah.','Menumbuhkan kepedulian lingkungan melalui program penghijauan, pengelolaan sampah, dan kebersihan sekolah.','https://images.unsplash.com/photo-1466692476868-9ee5a3a3e93b?w=800&q=80','biru',3,NOW(),NOW()),
('Sekolah Sehat','Kesehatan','Membudayakan pola hidup bersih dan sehat melalui pemeriksaan kesehatan berkala dan edukasi gizi siswa.','Membudayakan pola hidup bersih dan sehat melalui pemeriksaan kesehatan berkala dan edukasi gizi siswa.','https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?w=800&q=80','kuning',4,NOW(),NOW()),
('Literasi Digital','Digital','Mengenalkan teknologi informasi secara bijak dan aman kepada siswa sejak jenjang sekolah dasar.','Mengenalkan teknologi informasi secara bijak dan aman kepada siswa sejak jenjang sekolah dasar.','https://images.unsplash.com/photo-1509062522246-3755977927d7?w=800&q=80','merah',5,NOW(),NOW());

-- ============================================================
-- DATA KELAS
-- ============================================================
DROP TABLE IF EXISTS `kelas`;
CREATE TABLE `kelas` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `nama_kelas` varchar(255) NOT NULL,
  `ruang` varchar(255) DEFAULT NULL,
  `wali_kelas` varchar(255) DEFAULT NULL,
  `jadwal_masuk` varchar(255) DEFAULT NULL,
  `mapel` varchar(255) DEFAULT NULL,
  `fasilitas` json DEFAULT NULL,
  `kapasitas` int NOT NULL DEFAULT 36,
  `urutan` int NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO `kelas` (`id`,`nama_kelas`,`ruang`,`wali_kelas`,`jadwal_masuk`,`mapel`,`fasilitas`,`kapasitas`,`urutan`,`created_at`,`updated_at`) VALUES
(1,'I','R-101','Ibu Siti Rahayu, S.Pd','07.00 – 09.00','Matematika, B. Indonesia',JSON_ARRAY('Papan tulis','Meja kursi siswa (30 set)','LCD Proyektor','Lemari penyimpanan'),36,0,NOW(),NOW()),
(2,'II','R-102','Bapak Ahmad Fauzi, S.Pd','07.00 – 09.30','Matematika, IPA',JSON_ARRAY('Papan tulis','Meja kursi siswa (32 set)','LCD Proyektor','Sudut baca'),36,1,NOW(),NOW()),
(3,'III','R-201','Ibu Dwi Lestari, S.Pd','07.00 – 10.00','IPS, B. Indonesia, Matematika',JSON_ARRAY('Papan tulis interaktif','Meja kursi siswa (32 set)','LCD Proyektor','Komputer guru'),36,2,NOW(),NOW()),
(4,'IV','R-202','Bapak Hendra Saputra, S.Pd','07.00 – 10.30','IPA, Matematika, B. Indonesia',JSON_ARRAY('Papan tulis interaktif','Meja kursi siswa (31 set)','LCD Proyektor','Komputer guru','Kipas angin'),36,3,NOW(),NOW()),
(5,'V','R-203','Ibu Nurul Hidayah, S.Pd','07.00 – 11.00','Matematika, IPA, IPS, B. Inggris',JSON_ARRAY('Papan tulis interaktif','Meja kursi siswa (30 set)','LCD Proyektor','Komputer guru','Kipas angin'),36,4,NOW(),NOW()),
(6,'VI','R-301','Bapak Supriyanto, S.Pd','07.00 – 11.30','Matematika, IPA, IPS, B. Indonesia, PAI',JSON_ARRAY('Papan tulis interaktif','Meja kursi siswa (31 set)','LCD Proyektor','Komputer guru','AC'),36,5,NOW(),NOW());

-- ============================================================
-- DATA SISWA
-- ============================================================
DROP TABLE IF EXISTS `siswas`;
CREATE TABLE `siswas` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `kelas_id` bigint unsigned NOT NULL,
  `nis` varchar(255) NOT NULL,
  `nama` varchar(255) NOT NULL,
  `jenis_kelamin` enum('L','P') NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `siswas_kelas_id_foreign` (`kelas_id`),
  CONSTRAINT `siswas_kelas_id_foreign` FOREIGN KEY (`kelas_id`) REFERENCES `kelas` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO `siswas` (`kelas_id`,`nis`,`nama`,`jenis_kelamin`,`created_at`,`updated_at`) VALUES
(1,'2024001','Ahmad Rizky Pratama','L',NOW(),NOW()),
(1,'2024002','Ayu Putri Andini','P',NOW(),NOW()),
(1,'2024003','Bagas Setiawan','L',NOW(),NOW()),
(1,'2024004','Citra Dewi Lestari','P',NOW(),NOW()),
(1,'2024005','Dafa Rizki Putra','L',NOW(),NOW()),
(2,'2023001','Dani Firmansyah','L',NOW(),NOW()),
(2,'2023002','Elisa Nur Fadilah','P',NOW(),NOW()),
(2,'2023003','Fajar Eko Nugroho','L',NOW(),NOW()),
(2,'2023004','Gita Puspita Sari','P',NOW(),NOW()),
(2,'2023005','Hilmi Saputra','L',NOW(),NOW()),
(3,'2022001','Hafiz Maulana','L',NOW(),NOW()),
(3,'2022002','Intan Permata Dewi','P',NOW(),NOW()),
(3,'2022003','Joko Santoso','L',NOW(),NOW()),
(3,'2022004','Kirana Safitri','P',NOW(),NOW()),
(3,'2022005','Liana Agustina','P',NOW(),NOW()),
(4,'2021001','Luthfi Hakim','L',NOW(),NOW()),
(4,'2021002','Maya Anggraini','P',NOW(),NOW()),
(4,'2021003','Naufal Ardiansyah','L',NOW(),NOW()),
(4,'2021004','Olivia Putri','P',NOW(),NOW()),
(4,'2021005','Panji Asmoro','L',NOW(),NOW()),
(5,'2020001','Putra Ramadhan','L',NOW(),NOW()),
(5,'2020002','Qonita Azzahra','P',NOW(),NOW()),
(5,'2020003','Raffi Kurniawan','L',NOW(),NOW()),
(5,'2020004','Salsa Bila Putri','P',NOW(),NOW()),
(5,'2020005','Taufik Hidayat','L',NOW(),NOW()),
(6,'2019001','Teguh Wibowo','L',NOW(),NOW()),
(6,'2019002','Umi Kulsum','P',NOW(),NOW()),
(6,'2019003','Vino Prasetyo','L',NOW(),NOW()),
(6,'2019004','Winda Rahayu','P',NOW(),NOW()),
(6,'2019005','Xenia Maharani','P',NOW(),NOW());

-- ============================================================
-- KONTAK INFO (Hubungi Kami)
-- ============================================================
DROP TABLE IF EXISTS `kontak_info`;
CREATE TABLE `kontak_info` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `whatsapp` varchar(255) DEFAULT NULL,
  `instagram_handle` varchar(255) DEFAULT NULL,
  `instagram_url` varchar(255) DEFAULT NULL,
  `email` varchar(255) DEFAULT NULL,
  `youtube_label` varchar(255) DEFAULT NULL,
  `youtube_url` varchar(255) DEFAULT NULL,
  `jam_senin_kamis` varchar(255) DEFAULT NULL,
  `jam_jumat` varchar(255) DEFAULT NULL,
  `jam_sabtu` varchar(255) DEFAULT NULL,
  `alamat` varchar(255) DEFAULT NULL,
  `maps_embed_url` text,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO `kontak_info` (`whatsapp`,`instagram_handle`,`instagram_url`,`email`,`youtube_label`,`youtube_url`,`jam_senin_kamis`,`jam_jumat`,`jam_sabtu`,`alamat`,`maps_embed_url`,`created_at`,`updated_at`) VALUES
('0812-3456-7890','@sdn4keling','https://instagram.com/sdn4keling','sdnegeri4keling@gmail.com','SD Negeri 4 Keling','https://youtube.com/@sdn4keling','07.00 – 13.00 WIB','07.00 – 11.00 WIB','07.00 – 12.00 WIB','Keling Bono RT 04 RW 06, Kecamatan Keling, Kabupaten Jepara, Jawa Tengah','https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3962.5!2d110.75!3d-6.65!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x0%3A0x0!2zNsKwMzknMDAuMCJTIDExMMKwNDUnMDAuMCJF!5e0!3m2!1sid!2sid!4v1700000000000!5m2!1sid!2sid',NOW(),NOW());

-- ============================================================
-- PESAN MASUK (dari form Hubungi Kami — kosong di awal)
-- ============================================================
DROP TABLE IF EXISTS `pesan_masuks`;
CREATE TABLE `pesan_masuks` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `nama` varchar(255) NOT NULL,
  `no_hp` varchar(255) NOT NULL,
  `email` varchar(255) DEFAULT NULL,
  `hubungan` varchar(255) NOT NULL,
  `perihal` varchar(255) NOT NULL,
  `pesan` text NOT NULL,
  `status` enum('Baru','Dibaca','Ditindaklanjuti') NOT NULL DEFAULT 'Baru',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ============================================================
-- JADWAL & TAHAPAN PPDB
-- ============================================================
DROP TABLE IF EXISTS `jadwal_ppdbs`;
CREATE TABLE `jadwal_ppdbs` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `kegiatan` varchar(255) NOT NULL,
  `tanggal_mulai` date DEFAULT NULL,
  `tanggal_selesai` date DEFAULT NULL,
  `tempat` varchar(255) DEFAULT NULL,
  `tampil_tahapan` tinyint(1) NOT NULL DEFAULT 1,
  `urutan_tahapan` int NOT NULL DEFAULT 0,
  `urutan` int NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Catatan: status (Akan Datang / Sedang Berjalan / Selesai) TIDAK disimpan
-- di tabel ini — dihitung otomatis oleh aplikasi dari tanggal_mulai &
-- tanggal_selesai dibandingkan tanggal hari ini.
INSERT INTO `jadwal_ppdbs` (`kegiatan`,`tanggal_mulai`,`tanggal_selesai`,`tempat`,`tampil_tahapan`,`urutan_tahapan`,`urutan`,`created_at`,`updated_at`) VALUES
('Sosialisasi SPMB', DATE_SUB(CURDATE(), INTERVAL 30 DAY), DATE_SUB(CURDATE(), INTERVAL 10 DAY), 'Sekolah & Online',1,0,0,NOW(),NOW()),
('Pengambilan Formulir', DATE_SUB(CURDATE(), INTERVAL 9 DAY), DATE_ADD(CURDATE(), INTERVAL 5 DAY), 'TU Sekolah / Online',0,1,1,NOW(),NOW()),
('Pendaftaran', DATE_SUB(CURDATE(), INTERVAL 5 DAY), DATE_ADD(CURDATE(), INTERVAL 10 DAY), 'TU Sekolah / Online',1,1,2,NOW(),NOW()),
('Pengumpulan Berkas', DATE_SUB(CURDATE(), INTERVAL 5 DAY), DATE_ADD(CURDATE(), INTERVAL 10 DAY), 'TU Sekolah',0,2,3,NOW(),NOW()),
('Tes Kesiapan Belajar', DATE_ADD(CURDATE(), INTERVAL 12 DAY), DATE_ADD(CURDATE(), INTERVAL 13 DAY), 'Ruang Kelas I',0,3,4,NOW(),NOW()),
('Seleksi Berkas', DATE_ADD(CURDATE(), INTERVAL 11 DAY), DATE_ADD(CURDATE(), INTERVAL 15 DAY), 'Ruang TU',1,2,5,NOW(),NOW()),
('Pengumuman Hasil', DATE_ADD(CURDATE(), INTERVAL 17 DAY), NULL, 'Papan Pengumuman & Web',1,3,6,NOW(),NOW()),
('Daftar Ulang', DATE_ADD(CURDATE(), INTERVAL 20 DAY), DATE_ADD(CURDATE(), INTERVAL 25 DAY), 'TU Sekolah',1,4,7,NOW(),NOW()),
('Masa Orientasi Siswa', DATE_ADD(CURDATE(), INTERVAL 27 DAY), DATE_ADD(CURDATE(), INTERVAL 31 DAY), 'SD Negeri 4 Keling',0,5,8,NOW(),NOW()),
('Awal Masuk', DATE_ADD(CURDATE(), INTERVAL 34 DAY), NULL, 'SD Negeri 4 Keling',1,5,9,NOW(),NOW());

-- ============================================================
-- INFO UMUM HALAMAN PENDAFTARAN (syarat, alur, FAQ, kontak panitia)
-- ============================================================
DROP TABLE IF EXISTS `ppdb_infos`;
CREATE TABLE `ppdb_infos` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `tahun_ajaran` varchar(255) DEFAULT NULL,
  `pengumuman` text,
  `dokumen_list` json DEFAULT NULL,
  `batas_usia` text,
  `daya_tampung` text,
  `prioritas_penerimaan` text,
  `catatan_penting` text,
  `alur_list` json DEFAULT NULL,
  `faq_list` json DEFAULT NULL,
  `telepon_sekolah` varchar(255) DEFAULT NULL,
  `whatsapp_panitia` varchar(255) DEFAULT NULL,
  `instagram_panitia` varchar(255) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO `ppdb_infos` (`tahun_ajaran`,`pengumuman`,`dokumen_list`,`batas_usia`,`daya_tampung`,`prioritas_penerimaan`,`catatan_penting`,`alur_list`,`faq_list`,`telepon_sekolah`,`whatsapp_panitia`,`instagram_panitia`,`created_at`,`updated_at`) VALUES
('2026/2027',
'Pendaftaran SPMB 2026/2027 dibuka mulai 2 Juni 2026. Pastikan dokumen persyaratan sudah disiapkan sebelum mengisi formulir online. Hubungi pihak sekolah untuk informasi lebih lanjut.',
JSON_ARRAY(
  JSON_OBJECT('judul','Akta Kelahiran','keterangan','Fotokopi dan asli. Anak harus berusia minimal 6 tahun per 1 Juli 2026.'),
  JSON_OBJECT('judul','Kartu Keluarga (KK)','keterangan','Fotokopi dan asli yang masih berlaku.'),
  JSON_OBJECT('judul','KTP Orang Tua/Wali','keterangan','Fotokopi dan asli.'),
  JSON_OBJECT('judul','Surat Keterangan Sehat','keterangan','Dari dokter atau puskesmas.'),
  JSON_OBJECT('judul','Pas Foto 3×4','keterangan','Sebanyak 4 lembar, latar merah.'),
  JSON_OBJECT('judul','Surat Keterangan Domisili','keterangan','Jika alamat KK berbeda dengan tempat tinggal.')
),
'Minimal berusia 6 tahun per 1 Juli 2026/2027.\nUsia 5 tahun 6 bulan dapat diterima dengan rekomendasi dari psikolog.',
'Kelas I tersedia 1 rombongan belajar dengan kapasitas maksimum 36 siswa.',
'1. Jalur zonasi (domisili dalam desa)\n2. Jalur afirmasi (kurang mampu / berkebutuhan khusus)\n3. Jalur perpindahan tugas orang tua\n4. Jalur prestasi',
'Tidak ada tes akademik untuk penerimaan siswa baru SD. Seleksi dilakukan berdasarkan usia dan zonasi.',
JSON_ARRAY(
  JSON_OBJECT('judul','Isi Formulir Online','keterangan','Lengkapi formulir pendaftaran online di website sekolah beserta upload berkas yang diperlukan.'),
  JSON_OBJECT('judul','Dapatkan Nomor Pendaftaran','keterangan','Setelah formulir terkirim, Anda akan menerima nomor pendaftaran untuk memantau status.'),
  JSON_OBJECT('judul','Verifikasi Berkas','keterangan','Tim panitia SPMB akan memverifikasi kelengkapan dan keabsahan dokumen yang diunggah.'),
  JSON_OBJECT('judul','Pengumuman','keterangan','Hasil seleksi akan diumumkan melalui papan pengumuman sekolah dan website pada tanggal yang telah ditentukan.'),
  JSON_OBJECT('judul','Daftar Ulang','keterangan','Peserta yang diterima wajib melakukan daftar ulang sesuai jadwal dengan membawa kelengkapan dokumen asli.')
),
JSON_ARRAY(
  JSON_OBJECT('tanya','Apakah ada biaya pendaftaran?','jawab','Tidak ada biaya pendaftaran. SD Negeri 4 Keling tidak memungut biaya apapun dalam proses SPMB sesuai dengan peraturan pemerintah.'),
  JSON_OBJECT('tanya','Apakah ada tes masuk untuk kelas 1 SD?','jawab','Tidak ada tes akademik. Sesuai peraturan Kemendikdasmen, seleksi dilakukan berdasarkan usia dan zonasi domisili, bukan kemampuan akademik atau baca-tulis.'),
  JSON_OBJECT('tanya','Bagaimana cara mengecek status pendaftaran?','jawab','Gunakan nomor pendaftaran dan tanggal lahir calon siswa pada halaman Cek Status Pendaftaran di website sekolah.'),
  JSON_OBJECT('tanya','Apa yang dimaksud dengan jalur zonasi?','jawab','Jalur zonasi memprioritaskan calon siswa yang berdomisili di dalam atau sekitar Desa Keling berdasarkan kartu keluarga.'),
  JSON_OBJECT('tanya','Berapa daya tampung kelas 1?','jawab','Satu rombongan belajar dengan kapasitas maksimum 36 siswa.')
),
'(0291) 123456','0812-3456-7890','@sdn4keling',NOW(),NOW());

-- ============================================================
-- PENDAFTARAN (SPMB) — kosong di awal, diisi lewat form publik
-- ============================================================
DROP TABLE IF EXISTS `pendaftarans`;
CREATE TABLE `pendaftarans` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `nomor_pendaftaran` varchar(255) NOT NULL,
  `status_pendaftaran` enum('Menunggu','Kurang','Ditolak','Diterima') NOT NULL DEFAULT 'Menunggu',
  `status_verifikasi` enum('Belum Diverifikasi','Terverifikasi') NOT NULL DEFAULT 'Belum Diverifikasi',
  `tanggal_verifikasi` timestamp NULL DEFAULT NULL,
  `petugas_verifikasi` varchar(255) DEFAULT NULL,
  `catatan_admin` text,
  `nama_lengkap` varchar(255) NOT NULL,
  `nama_panggilan` varchar(255) DEFAULT NULL,
  `jenis_kelamin` enum('L','P') NOT NULL,
  `agama` varchar(255) NOT NULL,
  `tempat_lahir` varchar(255) NOT NULL,
  `tanggal_lahir` date NOT NULL,
  `nik` varchar(20) NOT NULL,
  `nisn` varchar(20) DEFAULT NULL,
  `anak_ke` int unsigned NOT NULL,
  `jumlah_saudara` int unsigned NOT NULL DEFAULT 0,
  `alamat_lengkap` text NOT NULL,
  `asal_tk` varchar(255) DEFAULT NULL,
  `nomor_kk` varchar(20) NOT NULL,
  `tinggi_badan` decimal(6,2) DEFAULT NULL,
  `berat_badan` decimal(6,2) DEFAULT NULL,
  `lingkar_kepala` decimal(6,2) DEFAULT NULL,
  `jarak_ke_sekolah` decimal(8,2) DEFAULT NULL,
  `foto_siswa` varchar(255) DEFAULT NULL,
  `nama_ayah` varchar(255) DEFAULT NULL,
  `pekerjaan_ayah` varchar(255) DEFAULT NULL,
  `pendidikan_ayah` varchar(255) DEFAULT NULL,
  `no_hp_ayah` varchar(255) DEFAULT NULL,
  `nama_ibu` varchar(255) DEFAULT NULL,
  `pekerjaan_ibu` varchar(255) DEFAULT NULL,
  `pendidikan_ibu` varchar(255) DEFAULT NULL,
  `no_hp_ibu` varchar(255) DEFAULT NULL,
  `pakai_wali` tinyint(1) NOT NULL DEFAULT 0,
  `nama_wali` varchar(255) DEFAULT NULL,
  `pekerjaan_wali` varchar(255) DEFAULT NULL,
  `pendidikan_wali` varchar(255) DEFAULT NULL,
  `no_hp_wali` varchar(255) DEFAULT NULL,
  `email_ortu` varchar(255) DEFAULT NULL,
  `no_hp_utama` varchar(255) DEFAULT NULL,
  `berkas_kk` varchar(255) DEFAULT NULL,
  `berkas_akta` varchar(255) DEFAULT NULL,
  `berkas_ktp_ortu` varchar(255) DEFAULT NULL,
  `berkas_tk` varchar(255) DEFAULT NULL,
  `berkas_pkh` varchar(255) DEFAULT NULL,
  `jalur_pendaftaran` varchar(255) DEFAULT NULL,
  `catatan_tambahan` text,
  `persetujuan` tinyint(1) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `pendaftarans_nomor_pendaftaran_unique` (`nomor_pendaftaran`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ============================================================
-- FOTO HEADER HALAMAN
-- ============================================================
DROP TABLE IF EXISTS `page_hero_images`;
CREATE TABLE `page_hero_images` (
  `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  `page_key` varchar(255) NOT NULL,
  `label` varchar(255) NOT NULL,
  `gambar_default` varchar(255) NOT NULL,
  `gambar` varchar(255) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `page_hero_images_page_key_unique` (`page_key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

INSERT INTO `page_hero_images` (`page_key`,`label`,`gambar_default`,`created_at`,`updated_at`) VALUES
('kepala-sekolah','Kepala Sekolah','images/buatkepsek.jpeg',NOW(),NOW()),
('visi-misi','Visi & Misi','images/buatvisi.jpeg',NOW(),NOW()),
('sejarah','Sejarah Sekolah','images/buatsejarah.jpeg',NOW(),NOW()),
('struktur-organisasi','Struktur Organisasi','images/buatorg.jpeg',NOW(),NOW()),
('fasilitas','Fasilitas Sekolah','images/buatfasilitas.jpeg',NOW(),NOW()),
('berita-acara','Berita & Acara','images/buatberita.jpeg',NOW(),NOW()),
('guru-tendik','Guru & Tendik','images/buatguru.jpeg',NOW(),NOW()),
('data-kelas','Data Kelas','images/buatkelas.jpeg',NOW(),NOW()),
('ekstrakurikuler','Ekstrakurikuler','images/buatekstra.jpeg',NOW(),NOW()),
('program-sekolah','Program Sekolah','images/buatprogram.jpeg',NOW(),NOW()),
('hubungi-kami','Hubungi Kami','images/buathubungi.jpeg',NOW(),NOW()),
('pendaftaran','Pendaftaran (SPMB)','images/buatpendaftaran.jpeg',NOW(),NOW());

SET FOREIGN_KEY_CHECKS=1;

-- ============================================================
-- SELESAI
-- Langsung buka /admin untuk mulai kelola konten.
-- ============================================================
