-- MEDIA RANA DATABASE DUMP -- Date: 2026-10-06 18:59:06 -- Driver: mysql SET FOREIGN_KEY_CHECKS=0; DROP TABLE IF EXISTS `bookings`; CREATE TABLE `bookings` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `first_name` varchar(255) NOT NULL, `last_name` varchar(255) NOT NULL, `email` varchar(255) NOT NULL, `project_type` varchar(255) NOT NULL, `preferred_date` date NOT NULL, `status` varchar(255) NOT NULL DEFAULT 'planning', `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; INSERT INTO `bookings` (`id`, `first_name`, `last_name`, `email`, `project_type`, `preferred_date`, `status`, `created_at`, `updated_at`) VALUES ('1', 'John', 'Doe', 'john.doe@acme.com', 'Web Application', '2026-07-15', 'active', '2026-08-22 13:26:19', '2026-08-22 13:26:19'); INSERT INTO `bookings` (`id`, `first_name`, `last_name`, `email`, `project_type`, `preferred_date`, `status`, `created_at`, `updated_at`) VALUES ('2', 'Jane', 'Smith', 'jane.smith@globex.com', 'Mobile App', '2026-07-20', 'planning', '2026-08-22 13:26:19', '2026-08-22 13:26:19'); INSERT INTO `bookings` (`id`, `first_name`, `last_name`, `email`, `project_type`, `preferred_date`, `status`, `created_at`, `updated_at`) VALUES ('3', 'Tony', 'Stark', 'tony@stark.com', 'Consulting', '2026-07-10', 'completed', '2026-08-22 13:26:19', '2026-08-22 13:26:19'); INSERT INTO `bookings` (`id`, `first_name`, `last_name`, `email`, `project_type`, `preferred_date`, `status`, `created_at`, `updated_at`) VALUES ('9', 'hjiezxihwk', 'troxjosnzt', 'vjnyvogm@formtests.info', 'Starter / Landing Page', '2024-12-21', 'planning', '2026-10-06 12:35:00', '2026-10-06 12:35:00'); DROP TABLE IF EXISTS `cache`; CREATE TABLE `cache` ( `key` varchar(255) NOT NULL, `value` mediumtext NOT NULL, `expiration` int(11) NOT NULL, PRIMARY KEY (`key`), KEY `cache_expiration_index` (`expiration`) ) 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(11) NOT NULL, PRIMARY KEY (`key`), KEY `cache_locks_expiration_index` (`expiration`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; DROP TABLE IF EXISTS `failed_jobs`; CREATE TABLE `failed_jobs` ( `id` bigint(20) 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 `job_batches`; CREATE TABLE `job_batches` ( `id` varchar(255) NOT NULL, `name` varchar(255) NOT NULL, `total_jobs` int(11) NOT NULL, `pending_jobs` int(11) NOT NULL, `failed_jobs` int(11) NOT NULL, `failed_job_ids` longtext NOT NULL, `options` mediumtext DEFAULT NULL, `cancelled_at` int(11) DEFAULT NULL, `created_at` int(11) NOT NULL, `finished_at` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; DROP TABLE IF EXISTS `jobs`; CREATE TABLE `jobs` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `queue` varchar(255) NOT NULL, `payload` longtext NOT NULL, `attempts` tinyint(3) unsigned NOT NULL, `reserved_at` int(10) unsigned DEFAULT NULL, `available_at` int(10) unsigned NOT NULL, `created_at` int(10) unsigned NOT NULL, PRIMARY KEY (`id`), KEY `jobs_queue_index` (`queue`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; DROP TABLE IF EXISTS `migrations`; CREATE TABLE `migrations` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `migration` varchar(255) NOT NULL, `batch` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; DROP TABLE IF EXISTS `page_sections`; CREATE TABLE `page_sections` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `page` varchar(255) NOT NULL, `section_key` varchar(255) NOT NULL, `title` varchar(255) DEFAULT NULL, `subtitle` text DEFAULT NULL, `content` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`content`)), `is_visible` tinyint(1) NOT NULL DEFAULT 1, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `page_sections_section_key_unique` (`section_key`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; INSERT INTO `page_sections` (`id`, `page`, `section_key`, `title`, `subtitle`, `content`, `is_visible`, `created_at`, `updated_at`) VALUES ('1', 'home', 'home_hero', 'Solusi Digital & Rekayasa Software Presisi High-Tech.', 'Kami menghadirkan solusi pembuatan website dan aplikasi berkinerja tinggi, aman, dan berdesain estetis untuk mengakselerasi pertumbuhan bisnis & UMKM Indonesia.', '{\"button_1_text\":\"Lihat Paket Harga\",\"button_1_link\":\"\\/pricing\",\"button_2_text\":\"Lihat Portofolio\",\"button_2_link\":\"\\/portfolio\",\"image_url\":\"\\/images\\/maskot_mri.png\"}', '1', '2026-08-22 13:26:19', '2026-08-22 13:26:19'); INSERT INTO `page_sections` (`id`, `page`, `section_key`, `title`, `subtitle`, `content`, `is_visible`, `created_at`, `updated_at`) VALUES ('2', 'home', 'home_services', 'Solusi Digital Unggulan', 'Layanan komprehensif untuk menjawab kebutuhan transformasi digital bisnis Anda.', NULL, '1', '2026-08-22 13:26:19', '2026-08-22 13:26:19'); INSERT INTO `page_sections` (`id`, `page`, `section_key`, `title`, `subtitle`, `content`, `is_visible`, `created_at`, `updated_at`) VALUES ('3', 'portfolio', 'portfolio_header', 'Portofolio & Karya Unggulan', 'Jelajahi berbagai proyek aplikasi web dan solusi digital terbaik yang telah kami rancang dengan presisi tinggi untuk klien kami.', NULL, '1', '2026-08-22 13:26:19', '2026-08-22 13:26:19'); INSERT INTO `page_sections` (`id`, `page`, `section_key`, `title`, `subtitle`, `content`, `is_visible`, `created_at`, `updated_at`) VALUES ('4', 'pricing', 'pricing_header', 'Paket Layanan & Investasi Transparan', 'Pilihan paket All-In-One pembuatan website dan aplikasi profesional. Sudah termasuk domain, hosting, keamanan SSL, dan pendampingan terima beres.', NULL, '1', '2026-08-22 13:26:19', '2026-08-22 13:26:19'); INSERT INTO `page_sections` (`id`, `page`, `section_key`, `title`, `subtitle`, `content`, `is_visible`, `created_at`, `updated_at`) VALUES ('5', 'pricing', 'pricing_booking', 'Konsultasi & Pemesanan Paket', 'Masih bingung memilih paket yang tepat? Jadwalkan konsultasi gratis atau hubungi tim teknis kami untuk mendiskusikan kebutuhan bisnis Anda.', '{\"benefit_1_title\":\"Waktu Fleksibel\",\"benefit_1_desc\":\"Tentukan jadwal diskusi yang sesuai dengan waktu Anda.\",\"benefit_2_title\":\"Diskusi & Demo Zoom \\/ WA\",\"benefit_2_desc\":\"Konsultasi langsung via WhatsApp \\/ Online Meeting.\"}', '1', '2026-08-22 13:26:19', '2026-08-22 13:26:19'); 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 `portfolios`; CREATE TABLE `portfolios` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `description` text NOT NULL, `image_url` longtext DEFAULT NULL, `tags` varchar(255) NOT NULL, `is_visible` tinyint(1) NOT NULL DEFAULT 1, `order` int(11) NOT NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `demo_url` text DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; INSERT INTO `portfolios` (`id`, `title`, `description`, `image_url`, `tags`, `is_visible`, `order`, `created_at`, `updated_at`, `demo_url`) VALUES ('1', 'AngahShowroom - Penjualan Mobil & Kredit Syariah', 'Platform web eksekutif showroom mobil baru & bekas pasaran Indonesia dengan kalkulator cicilan Kredit Syariah 100% Bebas Riba dan booking test drive.', 'https://images.unsplash.com/photo-1563720223185-11003d516935?auto=format&fit=crop&w=800&q=80', 'Automotive, Kredit Syariah, Standalone Web', '1', '1', '2026-08-22 13:26:19', '2026-08-22 13:26:19', '/sites/AngahShowroom/'); INSERT INTO `portfolios` (`id`, `title`, `description`, `image_url`, `tags`, `is_visible`, `order`, `created_at`, `updated_at`, `demo_url`) VALUES ('2', 'BloomFlorist - Rangkaian Bunga Bucket & Fresh Studio', 'Toko online florist bunga bucket custom, hand bouquet wisuda, mawar segar, Korean money gift, dan kartu ucapan cetak gratis.', 'https://images.unsplash.com/photo-1561181286-d3fee7d55364?auto=format&fit=crop&w=800&q=80', 'Florist, Clean Yellow, Bunga Bucket', '1', '2', '2026-08-22 13:26:19', '2026-08-22 13:26:19', '/sites/BloomFlorist/'); INSERT INTO `portfolios` (`id`, `title`, `description`, `image_url`, `tags`, `is_visible`, `order`, `created_at`, `updated_at`, `demo_url`) VALUES ('3', 'Mie Pedas Nampol - Kedai Aneka Mie Pedas & Dimsum', 'Portal web kuliner mie pedas level 1-5 dengan olahan cabai rawit asli, bumbu gurih meresap, dimsum crispy, dan pesan delivery WhatsApp.', 'https://images.unsplash.com/photo-1612927601601-6638404737ce?auto=format&fit=crop&w=800&q=80', 'Kuliner, Merah Oren, Level Pedas', '1', '3', '2026-08-22 13:26:19', '2026-08-22 13:26:19', '/sites/KedaiMiePedas/'); INSERT INTO `portfolios` (`id`, `title`, `description`, `image_url`, `tags`, `is_visible`, `order`, `created_at`, `updated_at`, `demo_url`) VALUES ('4', 'PT Pengelasan Jaya Utama - Perusahaan Fabrikasi Industri', 'Company profile industri pengelasan konstruksi baja berat, fabrikasi pipa argon TIG, pressure vessel, dan perbaikan struktur berlisensi BNSP & ISO.', 'https://images.unsplash.com/photo-1504328345606-18bbc8c9d7d1?auto=format&fit=crop&w=800&q=80', 'Company Profile, Industri Las, ISO Certified', '1', '4', '2026-08-22 13:26:19', '2026-08-22 13:26:19', '/sites/PengelasanUtama/'); INSERT INTO `portfolios` (`id`, `title`, `description`, `image_url`, `tags`, `is_visible`, `order`, `created_at`, `updated_at`, `demo_url`) VALUES ('5', 'ElektroKit Tech - Kit & Modul Rakitan Elektronika', 'Website katalog produk kit & modul rakitan elektronika presisi high-power, Power Amp 1000W RMS, Power Supply Regulator, dan board IoT ESP32.', 'https://images.unsplash.com/photo-1518770660439-4636190af475?auto=format&fit=crop&w=800&q=80', 'DIY Electronics, Electric Neon, Audio & IoT', '1', '5', '2026-08-22 13:26:19', '2026-08-22 13:26:19', '/sites/ElektroKit/'); DROP TABLE IF EXISTS `pricing_plans`; CREATE TABLE `pricing_plans` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `price` varchar(255) NOT NULL, `price_suffix` varchar(255) DEFAULT NULL, `description` text NOT NULL, `features` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL CHECK (json_valid(`features`)), `button_text` varchar(255) NOT NULL, `button_link` varchar(255) NOT NULL, `is_featured` tinyint(1) NOT NULL DEFAULT 0, `is_visible` tinyint(1) NOT NULL DEFAULT 1, `order` int(11) NOT NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; INSERT INTO `pricing_plans` (`id`, `name`, `price`, `price_suffix`, `description`, `features`, `button_text`, `button_link`, `is_featured`, `is_visible`, `order`, `created_at`, `updated_at`) VALUES ('1', 'Starter / Landing Page', 'Rp 1.999.000', '/proyek', 'Solusi tepat untuk promosi produk tunggal, event, atau UMKM yang ingin tampil profesional.', '[\"Website 1 Halaman Responsif & Fast Load\",\"Gratis Domain .com (1 Tahun)\",\"Hosting Web High-Speed 1 GB\",\"Keamanan SSL HTTPS Gratis\",\"Integrasi Langsung Tombol WhatsApp\",\"Panduan & Garansi Pemeliharaan\"]', 'Pilih Paket Starter', '#booking', '0', '1', '1', '2026-08-22 13:26:19', '2026-08-22 13:26:19'); INSERT INTO `pricing_plans` (`id`, `name`, `price`, `price_suffix`, `description`, `features`, `button_text`, `button_link`, `is_featured`, `is_visible`, `order`, `created_at`, `updated_at`) VALUES ('2', 'Business Profile', 'Rp 2.799.000', '/proyek', 'Paket paling populer untuk profil perusahaan, toko, atau jasa resmi yang butuh identitas kuat.', '[\"Web Profil Multi-Halaman (Home, About, Jasa, Kontak)\",\"Gratis Domain .com (1 Tahun)\",\"Hosting Web Stabil 5 GB\",\"Optimasi SEO Dasar & Google Search Console\",\"Tampilan Modern Responsif HP & Desktop\",\"Bantuan Pembuatan Konten Awal\"]', 'Pilih Paket Business', '#booking', '1', '1', '2', '2026-08-22 13:26:19', '2026-08-22 13:26:19'); INSERT INTO `pricing_plans` (`id`, `name`, `price`, `price_suffix`, `description`, `features`, `button_text`, `button_link`, `is_featured`, `is_visible`, `order`, `created_at`, `updated_at`) VALUES ('3', 'Corporate + Katalog', 'Rp 4.499.000', '/proyek', 'Desain custom premium dengan katalog produk/layanan lengkap untuk bisnis skala menengah.', '[\"Web Profile Premium + Halaman Katalog Produk\",\"Gratis Domain .com \\/ .id (1 Tahun)\",\"High-Speed SSD Hosting 10 GB\",\"Formulir Penawaran \\/ Pesanan Otomatis\",\"Optimasi Kecepatan & Keamanan SSL Premium\",\"Bantuan Input Hingga 20 Produk\"]', 'Pilih Paket Corporate', '#booking', '0', '1', '3', '2026-08-22 13:26:19', '2026-08-22 13:26:19'); INSERT INTO `pricing_plans` (`id`, `name`, `price`, `price_suffix`, `description`, `features`, `button_text`, `button_link`, `is_featured`, `is_visible`, `order`, `created_at`, `updated_at`) VALUES ('4', 'Custom App & E-Commerce', 'Mulai Rp 6.500.000', '/proyek', 'Untuk toko online berfitur lengkap, sistem informasi bisnis, atau aplikasi web sesuai alur kerja Anda.', '[\"Sistem Keranjang & Checkout \\/ Custom Workflow\",\"Integrasi Payment Gateway Pembayaran Digital\",\"Cloud Hosting NVMe Storage Berkecepatan Tinggi\",\"Email Korporat Bisnis (nama@perusahaan.com)\",\"Website Maintenance & Support Khusus\",\"Garansi Garansi Sistem & Keamanan Data\"]', 'Konsultasi Custom', '#booking', '0', '1', '4', '2026-08-22 13:26:19', '2026-08-22 13:26:19'); DROP TABLE IF EXISTS `services`; CREATE TABLE `services` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `description` text NOT NULL, `icon` varchar(255) NOT NULL, `is_visible` tinyint(1) NOT NULL DEFAULT 1, `order` int(11) NOT NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; INSERT INTO `services` (`id`, `title`, `description`, `icon`, `is_visible`, `order`, `created_at`, `updated_at`) VALUES ('1', 'Pengembangan Aplikasi & Web', 'Aplikasi web dan sistem bisnis yang responsif, cepat, aman, dan dibangun dengan teknologi modern.', 'developer_mode', '1', '1', '2026-08-22 13:26:19', '2026-08-22 13:26:19'); INSERT INTO `services` (`id`, `title`, `description`, `icon`, `is_visible`, `order`, `created_at`, `updated_at`) VALUES ('2', 'Desain UI/UX Modern', 'Tampilan antarmuka intuitif dan visual memukau yang dirancang untuk meningkatkan interaksi pengguna.', 'design_services', '1', '2', '2026-08-22 13:26:19', '2026-08-22 13:26:19'); INSERT INTO `services` (`id`, `title`, `description`, `icon`, `is_visible`, `order`, `created_at`, `updated_at`) VALUES ('3', 'Konsultasi & Strategi IT', 'Pendampingan teknis dan konsultasi arsitektur sistem digital untuk efisiensi bisnis Anda.', 'support_agent', '1', '3', '2026-08-22 13:26:19', '2026-08-22 13:26:19'); DROP TABLE IF EXISTS `sessions`; CREATE TABLE `sessions` ( `id` varchar(255) NOT NULL, `user_id` bigint(20) unsigned DEFAULT NULL, `ip_address` varchar(45) DEFAULT NULL, `user_agent` text DEFAULT NULL, `payload` longtext NOT NULL, `last_activity` int(11) 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; INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('0pg6vMu9u546KOxU17qwlVlqGMiNEQmEVYL8fvm9', NULL, '74.7.241.26', 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiQnFZdTh5ODBGQ0pmM0NqYWRqbTJPWG4zTEN6OGEwTExqSHBpYXFsUSI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mjg6Imh0dHBzOi8vd3d3Lm1lZGlhcmFuYS5vbmxpbmUiO3M6NToicm91dGUiO3M6NDoiaG9tZSI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', '1791299144'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('1pD8hlhThTFCUnJe1t6D4FQafeY9ATez3DEdEM6F', NULL, '216.73.216.232', 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoibzRkVFR3T2NaQUt1VWtPMEhQcDZNZXI1dmZmcFh0VkIxdVJBRk5UNSI7czoxMDoiYXBwX2xvY2FsZSI7czoyOiJpZCI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MzI6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZS9sYW5nL2lkIjtzOjU6InJvdXRlIjtzOjExOiJsYW5nLnN3aXRjaCI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', '1791309564'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('1TDhYwDW68Icw5mC7KttAo5lHoDMRB69KjWcCBa7', NULL, '68.221.17.41', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoianRYN0dqQVYybkpGWXNkZ2FtSWFGa0NkWlJLcFJmZXhCY2U3dTkxZyI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjQ6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791301595'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('23H07FVlEQkGYvIgtWC1jxpcA7zlb7P0Aua1O7uh', NULL, '102.220.161.89', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoic0FHUHV1NFVVQnJQYjY5VlBUOU5PZGNVTjZsSU9qaHFmUHd4QU5YTCI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MzA6Imh0dHBzOi8vb25saW5lLm1lZGlhcmFuYS5teS5pZCI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791293563'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('3IMcxgZHeeWDokrT1WushSsQxXvH52Yb6EayAEd8', NULL, '116.179.32.20', 'Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoicG1zNllNb0w4RWVYa1JQd1ZTMEFOZmhqUFJHQXZiOUl5aU5CU0o3ZCI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjM6Imh0dHA6Ly9tZWRpYXJhbmEub25saW5lIjtzOjU6InJvdXRlIjtzOjQ6ImhvbWUiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1791310696'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('76tXDMQdxw8P5O0QaYwxevPtTYqYi3aPwsDYIrH4', NULL, '184.72.115.35', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.1.25 (KHTML, like Gecko) Version/8.0 Safari/600.1.25', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoiVTlGTEs1VTk4WEZxOFI0dW9TdGsxa2dQYjVJRlVsZzdjZTZUZXp3SSI7czozOiJ1cmwiO2E6MTp7czo4OiJpbnRlbmRlZCI7czozMzoiaHR0cHM6Ly9tZWRpYXJhbmEub25saW5lL3dvcmtzaG9wIjt9czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MzM6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZS93b3Jrc2hvcCI7czo1OiJyb3V0ZSI7czoxNDoid29ya3Nob3AuaW5kZXgiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1791251768'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('7F2JjC8NdG5b94rHfkMvRPJDiDtbygJUMmoDI1Oa', NULL, '216.73.216.232', 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiMnV3TXd3aWpnZTYyMENvTFpJR1J2S1lXUTFuZFprYmhOZGIzdXJpMSI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MzM6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZS9kZXYtc3luYyI7czo1OiJyb3V0ZSI7czoxNzoicHVibGljLnN5bmMuaW5kZXgiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1791309449'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('7RkhK3r5gTmMNdBdjp4XpjltWVpCuA1rWVwLPUf8', NULL, '68.221.17.41', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiRVdFSmoxdjZDTGpoWHRSNGh2OG9YanpUN1N0OVBKaFBiRmN3NFpFViI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjQ6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791258317'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('80o1kFASs9qYyzj0HlgJ09xBfQyAKfKi43R4W19X', NULL, '43.135.145.73', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiaFkzOGU2ckpxMVBDMkhORnFGZnhQN25TTE5qbjB6dVFTNVp0MENncSI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mjc6Imh0dHA6Ly93d3cubWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791292356'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('86HeswhS70657e5uM7oG0AAyRy2rDjFlYh59rILB', NULL, '68.221.17.41', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiR1RzbXpOZlJ3ZzQ2RmpxWENtdVJZV2daOE5wWFRGTnEyRzhrWms2QyI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjQ6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791268435'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('90iplbO4bIVjMiSME1WxCyrKNu0YD86JQicXXCUH', NULL, '46.202.186.247', '', 'YToyOntzOjY6Il90b2tlbiI7czo0MDoicTM2bXJrZnozMVRyc25uTFFJNFFtSkZ2TmFoaWFyRWJDVG52eWdJayI7czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791276190'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('97dud6MIi0pbM38ue561GJfP29Adp3SdxgCiYBl4', NULL, '216.73.216.232', 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiVDRobEZMN09Edjh6SDRkUWZodG0zc000NkpyRW1xNExkeWtRa3BsSyI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MzQ6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZS9wb3J0Zm9saW8iO3M6NToicm91dGUiO3M6OToicG9ydGZvbGlvIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791309622'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('a8BDOC1d9THQx7FBkrt2FLQOsfsoZS9097rxAwQZ', NULL, '184.72.121.156', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.1.25 (KHTML, like Gecko) Version/8.0 Safari/600.1.25', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoic1VKeFZwV2ZCNGNMS2NIVDhWOHdnR2xiTzRHbjcxUUlSMXVjcXZmQiI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MzA6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZS9sb2dpbiI7czo1OiJyb3V0ZSI7czo1OiJsb2dpbiI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', '1791258558'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('aeRKEIrjD5nVF9NstwTJLjkmAoDS3PwNyZbPDHVf', NULL, '176.119.150.192', 'Mozilla/5.0 (Fedora; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiYVdqclB2MzE2Rk16dDZoZzBhanZLYTZmQnFHUThaWGxNNFVRaGNRYiI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mjg6Imh0dHBzOi8vd3d3Lm1lZGlhcmFuYS5vbmxpbmUiO3M6NToicm91dGUiO3M6NDoiaG9tZSI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', '1791274835'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('aHFtzI1zqN6kUzFqbpghoNxrIXmUWohkvDM7YYFg', NULL, '8.234.162.229', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiQk9vbjNoeW9LQ29CMlhwR3pLVHNBbU9MNUdEaGJKbWFBS0FhazM0UCI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mjk6Imh0dHA6Ly9vbmxpbmUubWVkaWFyYW5hLm15LmlkIjtzOjU6InJvdXRlIjtzOjQ6ImhvbWUiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1791290035'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('am0V2ScNKu3XO8TJb2ZZavghsXEJnYzE0DcACS7a', NULL, '198.46.154.22', 'Mozilla/5.0 (iPad; CPU OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) CriOS/45.0.2454.68 Mobile/11D201 Safari/9537.53', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoiVEVldE1pcEFaeXBraVhZSTVXZXhWemlqQ2Z3dXlYbURCWTVKSFZGMCI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6NDE6Imh0dHA6Ly93d3cub25saW5lLm1lZGlhcmFuYS5teS5pZC9wcmljaW5nIjtzOjU6InJvdXRlIjtzOjc6InByaWNpbmciO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YToxOntpOjA7czo3OiJzdWNjZXNzIjt9czozOiJuZXciO2E6MDp7fX1zOjc6InN1Y2Nlc3MiO3M6Nzg6IllvdXIgZGlzY292ZXJ5IGNhbGwgaGFzIGJlZW4gc2NoZWR1bGVkIHN1Y2Nlc3NmdWxseSEgV2Ugd2lsbCBjb250YWN0IHlvdSBzb29uLiI7fQ==', '1791290100'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('azYGx82VFwR7vYLXAekzBPLVyMcNzr7Sd8G90GWB', NULL, '184.72.121.156', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.1.25 (KHTML, like Gecko) Version/8.0 Safari/600.1.25', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoieFlodzBHajViQ3JyTXJoQ3pOblFaNnlVVXpSVjNVRlFMMWRVcmlZNiI7czozOiJ1cmwiO2E6MTp7czo4OiJpbnRlbmRlZCI7czo0NToiaHR0cHM6Ly9tZWRpYXJhbmEub25saW5lL3dvcmtzaG9wL3Byb2plY3RzLzE3Ijt9czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6NDU6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZS93b3Jrc2hvcC9wcm9qZWN0cy8xNyI7czo1OiJyb3V0ZSI7czoyMjoid29ya3Nob3AucHJvamVjdHMuc2hvdyI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', '1791258556'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('BMVGqHAKuZ3If8qW0HmLqwfrWQ6wISQVUtA8zN0O', NULL, '192.210.150.199', 'Mozilla/5.0 (iPod touch; CPU iPhone OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12H321 Safari/600.1.4', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiQklGb0I0a0RzQlZsRFpPSDMyWDdNS2YweWRrb29ISnRDME1CWU90VCI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MzM6Imh0dHA6Ly93d3cub25saW5lLm1lZGlhcmFuYS5teS5pZCI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791290078'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('bp2JpgKvzRwmVtsA8wjuQxkusbKTZC63G3KU8d37', NULL, '180.242.192.175', '', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiaEw2VUo5M3NpbEtCT2xEM2cyZU1mZURXWEdPM1BDUGl1bGFsVVV4aSI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6NDM6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZS93b3Jrc2hvcC9hcGkvd29ya3MiO3M6NToicm91dGUiO3M6MjQ6IndvcmtzaG9wLmFwaS53b3Jrcy5pbmRleCI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', '1791275615'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('d2JnDDz3yZu8qMRtMT8M6r8tUooIPi5SseaXg1pg', NULL, '68.221.17.41', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoidlYwYmJoa3c5d2I5MHFXSE5TQ3kzQXM2WjFEOWNFenA1d2lDT1RlWSI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjQ6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791265636'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('DA2ivPf0tJZdJrrb9fMQE4CbE6WkCvWgqisGdzXU', NULL, '176.119.150.192', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.4.1 Safari/605.1.15', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiVnliem01cWlydEFGSFJnTVM4TVNUQ0JXZENRWmpaSnpvZVprSVhHeSI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MzQ6Imh0dHBzOi8vd3d3Lm9ubGluZS5tZWRpYXJhbmEubXkuaWQiO3M6NToicm91dGUiO3M6NDoiaG9tZSI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', '1791274837'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('dHdC9iuEPFxGxqFtqpn1SZhh5ngpe7g3XLs9il56', NULL, '43.164.133.138', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiQmdMZGI2NEpFSjZOZzIzWE5RaEdmcnRGT1ZSWGMxTmpZQ2dzR2Z0eCI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MzM6Imh0dHA6Ly9tZWRpYXJhbmEub25saW5lL3BvcnRmb2xpbyI7czo1OiJyb3V0ZSI7czo5OiJwb3J0Zm9saW8iO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1791304974'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('E1bWUFBlxD6a3LwWFvx9zouyKH1gQsViKwr3blBo', NULL, '34.79.30.146', 'python-requests/2.34.2', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiQXNHOUNDdmdKSG8zRldKNDZZWlh4SjltckVhMktJd2c2Q29RWVRYVyI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MzA6Imh0dHBzOi8vb25saW5lLm1lZGlhcmFuYS5teS5pZCI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791287670'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('E4iw6JbGXsWwk7vNi0bbRKOzub0TRohJaOQjxwic', NULL, '54.86.66.252', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.1.25 (KHTML, like Gecko) Version/8.0 Safari/600.1.25', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoiZXpHUFFKZ3loam9rTnRFY3dxejhXZ1NKNmpONFlmaHA4ZFg4cG5zcSI7czozOiJ1cmwiO2E6MTp7czo4OiJpbnRlbmRlZCI7czo0NToiaHR0cHM6Ly9tZWRpYXJhbmEub25saW5lL3dvcmtzaG9wL3Byb2plY3RzLzIwIjt9czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6NDU6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZS93b3Jrc2hvcC9wcm9qZWN0cy8yMCI7czo1OiJyb3V0ZSI7czoyMjoid29ya3Nob3AucHJvamVjdHMuc2hvdyI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', '1791309739'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('EA6EYKui1DXawuExap6GgjQgYbpW6Ifjq3X7zncR', NULL, '46.202.186.247', '', 'YToyOntzOjY6Il90b2tlbiI7czo0MDoia0VDUk45WTlUNFl6WGVpdlpCVE1PRGJOeVJGaGlwdmpDVURlazhpbiI7czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791267975'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('eXcgjGZmFApfQjttYTMiHmE6XrTDNXWqgVMz1caM', NULL, '184.72.115.35', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.1.25 (KHTML, like Gecko) Version/8.0 Safari/600.1.25', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoibm1SQmJoMGt6VEhwaXdRSWZYbUxyM0ExdzA1TGM2WVlad3lNVUo0WSI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MzA6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZS9sb2dpbiI7czo1OiJyb3V0ZSI7czo1OiJsb2dpbiI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', '1791251771'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('Faif0JiOnOcQIqDSNPja3nk2bUQsW33SlQVyYAsK', NULL, '43.130.15.147', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiTTFIclBHUjJia0VrMVdqaDh2cmJreHo3T0t3a0Nib0pSanNTc2k2YSI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjM6Imh0dHA6Ly9tZWRpYXJhbmEub25saW5lIjtzOjU6InJvdXRlIjtzOjQ6ImhvbWUiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1791256897'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('fgYOFCUnmOjnoCb20JrvLryHGWgALcfoxO8ARZh9', NULL, '54.175.74.27', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.1.25 (KHTML, like Gecko) Version/8.0 Safari/600.1.25', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiWWFQWFhWU3dKR1E5aVNmOFlxVkVIZUk3SFRqMmNZZkFXeGRvVnczYyI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MzA6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZS9sb2dpbiI7czo1OiJyb3V0ZSI7czo1OiJsb2dpbiI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', '1791250685'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('flVNzIJlnYorvqThmKOVvYBb9IfdYoSMM5GfJKDq', NULL, '68.221.17.41', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiajd2OG9MR0pTeGtyVjk2TVQ1dldCTHFQc3dUeVlETDBaZzRjUzR1WSI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjQ6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791239739'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('fW1E6ivLrEbuy2AvklXmbsu5Cx09i6PBfVIXja1R', NULL, '68.221.17.41', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiMTBsWFBaYkNwR2pCZHhhUVpjd005TGY5ZnlHS3NGZmJ0Z1RheTdYayI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjQ6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791312358'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('gdM9sVZfSJn3aoSU5VCUBu208fbZt5wmuwSbZ9hm', NULL, '46.202.186.247', '', 'YToyOntzOjY6Il90b2tlbiI7czo0MDoiOUlUY1JMREpZOWF5clZDbGxtOHh0T2hwd0gxaEJmZmZmRnFIWE00dCI7czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791267976'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('gnoPZkmDWhI1ZFXXTvMXSP7o92SHHAG9w67Xi856', NULL, '43.162.114.69', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiQUtrcXBvN3BlQkJyYWxVenExU0o3bndUZlhKamlhaEdyU2RaeU10NyI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjM6Imh0dHA6Ly9tZWRpYXJhbmEub25saW5lIjtzOjU6InJvdXRlIjtzOjQ6ImhvbWUiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1791289003'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('gUqVwpQPHg84yJd7s699gamExkTvkdBF3uwb3NSj', NULL, '155.103.69.82', 'Mozilla/5.0 (Windows NT 5.1; rv:36.0) Gecko/20100101 Firefox/36.0', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoiVk1KYUNRcVdNOW9HZlptWDdLQzdBMUhnNDFiU25ydXdiaHVXUVRqaiI7czoxMDoiYXBwX2xvY2FsZSI7czoyOiJpZCI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6NDE6Imh0dHA6Ly93d3cub25saW5lLm1lZGlhcmFuYS5teS5pZC9sYW5nL2lkIjtzOjU6InJvdXRlIjtzOjExOiJsYW5nLnN3aXRjaCI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', '1791290608'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('gvrHDlULzXAbATvIUC2EejawpFgEEDWpJaI5uXwE', '1', '180.242.192.175', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36', 'YTo2OntzOjY6Il90b2tlbiI7czo0MDoibkpHc0ZvaEFKUGVqOVdTWVZiU0MyU1ZwS2hFakFaaUpiMmxqTjhwNyI7czozOiJ1cmwiO2E6MDp7fXM6OToiX3ByZXZpb3VzIjthOjI6e3M6MzoidXJsIjtzOjMzOiJodHRwczovL21lZGlhcmFuYS5vbmxpbmUvd29ya3Nob3AiO3M6NToicm91dGUiO3M6MTQ6IndvcmtzaG9wLmluZGV4Ijt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319czo1MDoibG9naW5fd2ViXzU5YmEzNmFkZGMyYjJmOTQwMTU4MGYwMTRjN2Y1OGVhNGUzMDk4OWQiO2k6MTtzOjExOiJhdXRoX3BvcnRhbCI7czo5OiJ3b3Jrc3BhY2UiO30=', '1791279197'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('gYeohuj6MNgdClPetvzmJyNakDpKQEHXe5X4XZyt', NULL, '43.162.95.192', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoibjdTU2JUZTBzNEdkdlVoYW54WmNuZTZ3MlY1bE0wRExuWnBWQUJxTiI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mjc6Imh0dHA6Ly93d3cubWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791277249'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('h81a6T4UNCvRagO5qGMIvsjGvueVSo4UcFtRJ6sH', NULL, '149.56.150.247', 'Mozilla/5.0 (compatible; Dataprovider.com)', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiamEyczhhRHUwaWlBdVdSOVFNN1ZuS09BajhIcXJwcVJvSmNOUXhxbCI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mjg6Imh0dHBzOi8vd3d3Lm1lZGlhcmFuYS5vbmxpbmUiO3M6NToicm91dGUiO3M6NDoiaG9tZSI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', '1791242909'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('IMGqx4cnRO9iCqgWEkrAbR4RMrDp8nFdb1uKFB8t', NULL, '216.73.216.232', 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoibFdIUGRQMWR1bWtQQXd5NW92aWp4ZFdpeDAyYkt5TG9XZG56OXRKMyI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjQ6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791305582'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('IPRgXbwsYBaxDsq7CcSWFnnGv9OE3ZOb89XMx8k9', NULL, '216.73.216.232', 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiYWczdndYWHhwQUVabDNVcXlzeVBvMmliVndlNWxHSlNnaHBGZFZUaCI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MzI6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZS9wcmljaW5nIjtzOjU6InJvdXRlIjtzOjc6InByaWNpbmciO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1791309450'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('JOxakSfJodv1iFStNBCTp4j9JIalXnSNXCHsnkRV', NULL, '34.90.96.148', 'Scrapy/2.17.0 (+https://scrapy.org)', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiY2NvV1lvT3pUR2E5enNYZjBSMGxYWktOWnZRYUNKS2c2ZlYwNnB0bSI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjQ6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791283859'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('JTyN4NT65ugNkY9D0zmIXPtx3qm0PG77OKbSU9O8', NULL, '43.166.136.153', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiaEg3eVV4OTVsRElqOWNSSWlsTmw4emtybEZBV29DVDFrNUx4dFJBWiI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjM6Imh0dHA6Ly9tZWRpYXJhbmEub25saW5lIjtzOjU6InJvdXRlIjtzOjQ6ImhvbWUiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1791273406'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('K5A4MCRQ4NbdDkjp4sy7zLyOvwkbPW7x8PEGkueI', NULL, '178.105.183.10', '2ip bot/1.1 (+https://2ip.io/bot/)', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiNTJ0MWFRWGJYZ3Bxa3RESVoyNzFsT2lkNlZsNnFWY2FnUVVLTUpxbiI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjM6Imh0dHA6Ly9tZWRpYXJhbmEub25saW5lIjtzOjU6InJvdXRlIjtzOjQ6ImhvbWUiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1791257298'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('KDP7kGQtkLY0sWPizVZwxBRbWZP3NwSnbtd82aQD', NULL, '147.185.132.31', 'Hello from Palo Alto Networks, find out more about our scans in https://docs-cortex.paloaltonetworks.com/r/1/Cortex-Xpanse/Scanning-activity', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoienNuYm5ZNjJUaEhoTDlXRlhYNkZ1NEw1NndTM1VCT1pNV25FOW82aCI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mjk6Imh0dHA6Ly9vbmxpbmUubWVkaWFyYW5hLm15LmlkIjtzOjU6InJvdXRlIjtzOjQ6ImhvbWUiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1791303108'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('keMGAk7wR5Hu0Jzg2kSnzLk4K96bQbt6FWs8zetm', NULL, '34.34.153.247', 'python-requests/2.34.2', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiazhJRnJLdmVlREhkandMN2NwQTVaQjBSZmJKbEtCT0pQR21ja2xkQyI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mjk6Imh0dHA6Ly9vbmxpbmUubWVkaWFyYW5hLm15LmlkIjtzOjU6InJvdXRlIjtzOjQ6ImhvbWUiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1791287669'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('keSH6zXBC8ay67DtOHWbVpBvv83kuvVz0w9ZZvLd', NULL, '46.202.186.247', '', 'YToyOntzOjY6Il90b2tlbiI7czo0MDoiT0hnNDRYQjFpdFplYXlkSDU5ZkdNUlRHMzE2d2Z2RVI5bWN1RVdLUCI7czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791276191'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('Ks8Eon5D9hWP7jMqDT5inFdnjZkOrXQuKeKJM7N0', NULL, '3.218.103.254', 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Amazonbot/0.1; +https://developer.amazon.com/support/amazonbot) Chrome/119.0.6045.214 Safari/537.36', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoicEpyVHhPZzhGekkzYUVvNW5HTlA3RnNtaXpOTmtCN05hRWNkQzhKcyI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mjc6Imh0dHA6Ly93d3cubWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791305594'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('Kw3ymjaJvTh1pVlHZiq2eTEbQVojgcBICIml9x1L', NULL, '176.119.150.192', 'Mozilla/5.0 (Windows NT 6.2; rv:128.12) Gecko/20100101 Firefox/128.12', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiaFdNOHdHY0Z4TXlOUGNnUkVIYXhvOXEzYzl4V0NicWhScGFQVlZVMiI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjQ6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791274781'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('lfuqysvjLavmesCDBIbbjveliErt9JGgpcUkwl21', NULL, '66.132.186.176', 'Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiQ0JWSjJTUXoxTWxiNE4wRUlUWjRrRXE0VmxKQ1VaYWVmOXBYYWNRcCI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mjk6Imh0dHA6Ly9vbmxpbmUubWVkaWFyYW5hLm15LmlkIjtzOjU6InJvdXRlIjtzOjQ6ImhvbWUiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1791278952'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('m9sRWrdaYUQQuU5AjkHSYbtW4TVpmAZfnTfliUSq', NULL, '155.103.69.33', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:38.0) Gecko/20100101 Firefox/38.0', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoiREprYW5uNjl4RFZhME1oaHVqTVoxVkdHenB2SHQ4WVk4S1dSbEN3diI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6NDE6Imh0dHA6Ly93d3cub25saW5lLm1lZGlhcmFuYS5teS5pZC9wcmljaW5nIjtzOjU6InJvdXRlIjtzOjc6InByaWNpbmciO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX1zOjEwOiJhcHBfbG9jYWxlIjtzOjI6ImVuIjt9', '1791290068'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('mITmtQ4DUizA32eE114owtjEylBsVuD1wuoL2I6I', NULL, '216.73.216.232', 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoiR1NnMzlrUXJEbk8wbDg1ZjdyOXh3eTRSdlNLcTVUUGpGTUZIU2FHSSI7czoxMDoiYXBwX2xvY2FsZSI7czoyOiJlbiI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MzI6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZS9sYW5nL2VuIjtzOjU6InJvdXRlIjtzOjExOiJsYW5nLnN3aXRjaCI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', '1791309718'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('neSmHNmclZW3IUtDXTJlzQyEeC7AxYQGdQMTlo5F', NULL, '68.221.17.41', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiR1lVNWdkS2pSYUowNXNpd3prN1RadXJ0ajFKY1lLQjY1U2ZKQ3dSSSI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjQ6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791289218'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('O0WW5qweYqFPDqKnoycyVn102ZARFYlrLE36tx9J', NULL, '93.123.109.53', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0 Safari/537.36', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiVU94UjYwWlozWXNJQjVsSVpTYm40bkFQMlUyelNhUjZQSU9PSHFmQSI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjQ6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791287872'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('OHO4Xjqao7hoG9NbHkIFvRXr6Iz4Hokhhg9g3CGK', NULL, '43.164.192.151', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiV29wSWtrNTlMdUdHMER5RFZRUjRHSk9YU0RxOEI2Qzl6SFZxRWtEMyI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mjc6Imh0dHA6Ly93d3cubWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791309783'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('ONlvqTdUzZHFe3DHv9Ar2ub6iGLHQGYASu1IuYnw', '1', '180.242.192.175', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36', 'YTo2OntzOjY6Il90b2tlbiI7czo0MDoiNXJQM0Zlamx5S0ZZM2p3M1pjcDBrVEdqVlFxSnpGdmtvenhtRTBYeSI7czozOiJ1cmwiO2E6MDp7fXM6OToiX3ByZXZpb3VzIjthOjI6e3M6MzoidXJsIjtzOjMwOiJodHRwczovL21lZGlhcmFuYS5vbmxpbmUvbG9naW4iO3M6NToicm91dGUiO3M6NToibG9naW4iO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX1zOjUwOiJsb2dpbl93ZWJfNTliYTM2YWRkYzJiMmY5NDAxNTgwZjAxNGM3ZjU4ZWE0ZTMwOTg5ZCI7aToxO3M6MTE6ImF1dGhfcG9ydGFsIjtzOjk6IndvcmtzcGFjZSI7fQ==', '1791261279'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('OSowmL4kHITaURDu7StfRIitJKXnI4avtDDP4Fok', NULL, '54.86.66.252', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.1.25 (KHTML, like Gecko) Version/8.0 Safari/600.1.25', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoicjN2OGw3dTA1enFYM0dyVmlEM1lEMDVJZGVFck5hYTF1OERJRXBJdiI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MzA6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZS9sb2dpbiI7czo1OiJyb3V0ZSI7czo1OiJsb2dpbiI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', '1791309740'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('P3FgrbWrB3HW8WlH2doyvGfdP1CLPbZNpkC1aFn1', NULL, '122.51.236.174', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiUVU5Z1BtQnAyQVVkUDNHRzRSbWZyeXcxc0xCY01iWEg4SkFpYWg3MiI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mjc6Imh0dHA6Ly93d3cubWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791286954'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('pAqtwUtsN5cWVVJ7dTTWHKXHxbYPn4uvmaCzFuyl', NULL, '162.216.148.0', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiT1oxMGhtcnJMa0VLajZkNHFPV2ZkNkxVNHBmMEhyV01xMlVjOGxEbSI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjQ6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791270218'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('prSgYDDLvTmFzysGIDNKrjvC4Aj1CKS2KRwuwrsE', NULL, '199.45.155.23', 'Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoidjNmdlpISmJ5bVE1OVFLVjg0Q1JEYmRoeFgwRnlsMGV5b0RmR09VVCI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MzA6Imh0dHBzOi8vb25saW5lLm1lZGlhcmFuYS5teS5pZCI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791305950'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('PX61yd1f6S9OCIykRQfmmL7HzMJ6zlYxsUa9JnhI', NULL, '35.247.71.19', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiYkZQTVNUYXlVaFZPR1NwR1ozb1hocDl3aDlNYVRNdnJRYjl6ZHZIbSI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mjg6Imh0dHA6Ly9tYWlsLm1lZGlhcmFuYS5vbmxpbmUiO3M6NToicm91dGUiO3M6NDoiaG9tZSI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', '1791286412'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('qANZeUr3gmNi6EDPFqBE400zlmzhZJONGC2oTu29', NULL, '146.56.197.150', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiaUxzeXRudjMycEljSFdyOU9aSGpJNTR4QWV4alZkRHhpaUYxckl4eCI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjM6Imh0dHA6Ly9tZWRpYXJhbmEub25saW5lIjtzOjU6InJvdXRlIjtzOjQ6ImhvbWUiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1791256418'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('qMzfm5KdLbT1h3dfPYHSQNpM3HJ6h4bFiTEjaRs1', NULL, '102.220.161.89', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoidnY0MENxZm1NYk5LUVpmUmlMSUthQk1SdHhjQUJlOE0yRTRLblM2ayI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjQ6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791275472'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('qPiXn5IRJ18w7Zs1cKGcIYOV8gJHSjxLSropwvnc', NULL, '43.159.35.188', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoieUJtRHhrNXhwYmgyV0t4SXFhamVJSWM3cVJGb3dWaFFwTlgzb2hIZiI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mjc6Imh0dHA6Ly93d3cubWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791241098'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('RAZGXbLjT20jlnwHkUNBw9GeLd517msKvkSBLI40', NULL, '180.242.192.175', '', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoidURkaU1ZOHFCZWg3ZlJ6RVh4ZGExUXNnbGZNOWVPQUNFRHFSS2dUbiI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6NDM6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZS93b3Jrc2hvcC9hcGkvd29ya3MiO3M6NToicm91dGUiO3M6MjQ6IndvcmtzaG9wLmFwaS53b3Jrcy5pbmRleCI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', '1791275690'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('RjyRIjNP6IObMs6LdwIadazDrRVU8vrfbJ1fp1Q5', NULL, '180.242.192.175', '', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiMkdPOFNwWVJETHJkQ0M5OG91RWd2cVdmUWdzT0dvcUoxNjFPVFRxeCI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6NDM6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZS93b3Jrc2hvcC9hcGkvd29ya3MiO3M6NToicm91dGUiO3M6MjQ6IndvcmtzaG9wLmFwaS53b3Jrcy5pbmRleCI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', '1791275857'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('rnLMHYkg3RgNDKLkvc6VC8G7ELcIOkzZBNiRtuRx', NULL, '68.221.17.41', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoidzJQRmhEaXBONktJNW5pd0tyekpPVmp2dllTM0MzblJTV3FVT3RyUCI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjQ6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791271259'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('roE6ZhKQQ71tRbJzBPuNGfaNX4KVTh1wkvzoCACd', NULL, '102.220.161.89', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoidWVOd1JvMWlxSWVweVE0VXlIZEFPWHRjMm1tbXpPWlc4WFBqR0J5SiI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mjk6Imh0dHBzOi8vbWFpbC5tZWRpYXJhbmEub25saW5lIjtzOjU6InJvdXRlIjtzOjQ6ImhvbWUiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1791266857'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('RvGkozjIfOC8MReQ8SWumZ3YXN4Ldrnj1tWEJuss', NULL, '155.103.69.82', 'Mozilla/5.0 (Windows NT 5.1; rv:36.0) Gecko/20100101 Firefox/36.0', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiVFprU2NuOEdtNDlOY0xCOFdpUmJ5Zk90UE5sTVJXNTJjb2U1eERPOSI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MzM6Imh0dHA6Ly93d3cub25saW5lLm1lZGlhcmFuYS5teS5pZCI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791290618'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('sHIbCd80lPWqCDgNrpZocSX3GueuWOH9tIeud8F5', NULL, '68.221.17.41', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiNkkxRzAxS1NvSUFEUXBMcUEwNnBzMVA4TVh2bHE4bUh6TkhuN0JrViI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjQ6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791295103'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('t0lTCq80SSg2d52z8nx1lJaChJVpMBarIjcNlQ2z', NULL, '43.130.150.80', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiYVJZOHhnN2Y3YWhIMjRQdEp6bDI3TWN5cllkWFJRN1J5aWZrZ2loRCI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjM6Imh0dHA6Ly9tZWRpYXJhbmEub25saW5lIjtzOjU6InJvdXRlIjtzOjQ6ImhvbWUiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1791236671'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('tGZevFAxI7YLzoWADVw6fYyy2efotghpcnu6oQe9', NULL, '84.13.133.175', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiRXRXTTdVc2dBQlhtMWVUdUJRRFpwZlNQQ3VHUE1wbHdQZUczNVdPQyI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjQ6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791288389'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('tztiflE95umAAqwYWR4YdwVEUCBFox8FGWjq52lu', NULL, '162.216.148.0', 'Mozilla/5.0 Firefox/33.0', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiUmMyMTVZSUJkcXZSNnQwYkNFbmFodm14V2R1UEkxQUtDNEMxNGxFSyI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjM6Imh0dHA6Ly9tZWRpYXJhbmEub25saW5lIjtzOjU6InJvdXRlIjtzOjQ6ImhvbWUiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1791270220'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('UfL8FWvklszMd3U3XGD9P4EdUAsJKRfXLFDiEld8', NULL, '66.132.172.206', 'Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiN2p4WEM0aFI5VXh3dWlOQ2JhRGFram1QM2Q2SWxxejdBQm1MZEg3ZyI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MzQ6Imh0dHBzOi8vd3d3Lm9ubGluZS5tZWRpYXJhbmEubXkuaWQiO3M6NToicm91dGUiO3M6NDoiaG9tZSI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', '1791303234'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('uJqdJHoK6A41kN366gCofB6CeqwFX7jTmWl8Po4y', '1', '180.242.192.175', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36', 'YTo2OntzOjY6Il90b2tlbiI7czo0MDoiQ3pvNThGSUpRaFpmSGh4akFmUlV1U0ZONkMwNTBndGRBQU9uSGlxZiI7czozOiJ1cmwiO2E6MDp7fXM6OToiX3ByZXZpb3VzIjthOjI6e3M6MzoidXJsIjtzOjMzOiJodHRwczovL21lZGlhcmFuYS5vbmxpbmUvd29ya3Nob3AiO3M6NToicm91dGUiO3M6MTQ6IndvcmtzaG9wLmluZGV4Ijt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319czo1MDoibG9naW5fd2ViXzU5YmEzNmFkZGMyYjJmOTQwMTU4MGYwMTRjN2Y1OGVhNGUzMDk4OWQiO2k6MTtzOjExOiJhdXRoX3BvcnRhbCI7czo5OiJ3b3Jrc3BhY2UiO30=', '1791261279'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('v6CojOZECDPtqta1zbb7gIde2UPhkWwFLXYW0VsC', NULL, '68.221.17.41', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiWGNnTUNPZlg4cHd6VmpoTDNFaE9UcHZBQ2NVTzh0S1hGSGZVZXJ1ZyI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjQ6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791292765'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('vMwyZyqgFOgEf8zyJ0aL1WdzgvsLbCgzAWm2Rc0g', NULL, '54.39.6.40', 'Mozilla/5.0 (compatible; AhrefsBot/7.0; +http://ahrefs.com/robot/)', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiamNPd1VIMFR3Nm5KMHJTWWFQdDlvdG9tYkM0QnRNcm5DS2swYjFTWCI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjM6Imh0dHA6Ly9tZWRpYXJhbmEub25saW5lIjtzOjU6InJvdXRlIjtzOjQ6ImhvbWUiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1791281141'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('w67QkRSrOMGUsblekXW7yWnrsCRHVl5LQFMXm9Kk', NULL, '34.181.210.199', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoibGdEd05WcWs3TGYxUEhrZENuWm5kRDh4djNjWGFjY2U4MXRNUDlsRiI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjM6Imh0dHA6Ly9tZWRpYXJhbmEub25saW5lIjtzOjU6InJvdXRlIjtzOjQ6ImhvbWUiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1791287374'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('wb5PSA8zSRJHN5uJrSsb4NKKH9xEA6xWDoShxnfV', NULL, '149.56.150.247', 'Mozilla/5.0 (compatible; Dataprovider.com)', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiSG9hRWF1VnQwOE5HckY2Q2lIcngzVDdwWE1vMHM4YU9maDV0VTJSYSI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mjc6Imh0dHA6Ly93d3cubWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791242900'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('XlXl1JfWvwKpFTkzefPKrzAhmbkDKNSUiL2mYEhA', NULL, '43.134.236.36', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiQjdJc3ZsTWt1SmtRUGJXb05IQ3lEQ3hsZmdRcEI2Z29ad25nN3BVdiI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mjc6Imh0dHA6Ly93d3cubWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791259907'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('Y1pAOJkwiJtHlyhbNXAA0KfpYSLcBcn2n3jWqMtx', NULL, '180.242.192.175', '', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoicWFrWm1PMERFeWxESzZYWWNCbENzeXh3eDgxejloY1hLVW1qc2RsQyI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6NDM6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZS93b3Jrc2hvcC9hcGkvd29ya3MiO3M6NToicm91dGUiO3M6MjQ6IndvcmtzaG9wLmFwaS53b3Jrcy5pbmRleCI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', '1791275639'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('YDFfLaTB7IZT8wWKpVMkRvhYdgdLc4sxqG0aiMlo', NULL, '150.109.46.88', 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiemdxY3I2cU93aEw1NjZ5QnhNQ0dJc3MzNjNJSGZJQURUbjJubEFqQyI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjM6Imh0dHA6Ly9tZWRpYXJhbmEub25saW5lIjtzOjU6InJvdXRlIjtzOjQ6ImhvbWUiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1791304672'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('YLyG1b7RieGU3hdvAAmI2P3ksvvPPJCGj6RoF6rq', NULL, '144.217.135.139', 'Mozilla/5.0 (Linux; Android 10; SM-G981B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Mobile Safari/537.36', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoiWGE1U21oZDRZMGY4V2hXN0NMM2JXWE00MHExN2NJRWFVTmdkSG5ubCI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mjc6Imh0dHA6Ly93d3cubWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319czoxMDoiYXBwX2xvY2FsZSI7czoyOiJlbiI7fQ==', '1791242594'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('YsdqVYnvCMQKOZgVBmqty3ta7HzGUNjB84VVnQEz', NULL, '144.217.135.139', 'Mozilla/5.0 (compatible; Dataprovider.com)', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiazNBNnR5U3dnRXRmbzRNZ3JydzhLU29JclFlUUJYaUZkNXR2R3c4dSI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mjg6Imh0dHBzOi8vd3d3Lm1lZGlhcmFuYS5vbmxpbmUiO3M6NToicm91dGUiO3M6NDoiaG9tZSI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', '1791242578'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('YWN3TVwvEaR45XaqzMzjdYaiTKndlbICkBDDsqbC', NULL, '176.119.150.192', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.1.1 Safari/605.1.15', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiczl2Zno4UXdvbzRkQ3NvcEJ5STNVN243UGswQmZlVXY5eEZYNEhISCI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MzA6Imh0dHBzOi8vb25saW5lLm1lZGlhcmFuYS5teS5pZCI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791274787'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('YZas0uJKqens7P4dT1fVB03VixGXipDm9riDNFzE', NULL, '176.119.150.192', 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.0', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiSGswSmhVS3BQMk5lMzh2Z2U2ckdqNWY1eXR3eXJ2QkRLMFFzNXREbyI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mjk6Imh0dHBzOi8vbWFpbC5tZWRpYXJhbmEub25saW5lIjtzOjU6InJvdXRlIjtzOjQ6ImhvbWUiO31zOjY6Il9mbGFzaCI7YToyOntzOjM6Im9sZCI7YTowOnt9czozOiJuZXciO2E6MDp7fX19', '1791274777'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('YzHi9GjrgnlFxfPI9bBvxy4rC9ZrmowCtBM437Kh', NULL, '192.210.150.199', 'Mozilla/5.0 (iPod touch; CPU iPhone OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12H321 Safari/600.1.4', 'YTo0OntzOjY6Il90b2tlbiI7czo0MDoiM0pDQzRTYUFFMkliOTZibEZxU3k0Q0hlRWxJVXNESWxySE8zOEltNCI7czoxMDoiYXBwX2xvY2FsZSI7czoyOiJlbiI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6NDE6Imh0dHA6Ly93d3cub25saW5lLm1lZGlhcmFuYS5teS5pZC9sYW5nL2VuIjtzOjU6InJvdXRlIjtzOjExOiJsYW5nLnN3aXRjaCI7fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=', '1791290075'); INSERT INTO `sessions` (`id`, `user_id`, `ip_address`, `user_agent`, `payload`, `last_activity`) VALUES ('zwKvsI5ENBNnm1ajQCG7PIb3xTEB01JCGroeIrsi', NULL, '68.221.17.41', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36', 'YTozOntzOjY6Il90b2tlbiI7czo0MDoiSUlTd0x3M1lKbmpVa1RQektyV0JpcDlPUkVjcGsybGVGbmRuNWJ0WSI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MjQ6Imh0dHBzOi8vbWVkaWFyYW5hLm9ubGluZSI7czo1OiJyb3V0ZSI7czo0OiJob21lIjt9czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319fQ==', '1791253823'); DROP TABLE IF EXISTS `users`; CREATE TABLE `users` ( `id` bigint(20) 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 AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; INSERT INTO `users` (`id`, `name`, `email`, `email_verified_at`, `password`, `remember_token`, `created_at`, `updated_at`) VALUES ('1', 'Admin Media Rana', 'admin@mediarana.com', NULL, '$2y$12$zpBaom5IDiy.fTfx/76RnuRDcAxLzIz2nh9rGukOM/HwTBFZF33y6', NULL, '2026-08-22 13:26:19', '2026-08-22 13:26:19'); DROP TABLE IF EXISTS `workshop_data`; CREATE TABLE `workshop_data` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `workshop_project_id` bigint(20) unsigned NOT NULL, `title` varchar(255) NOT NULL, `content` text DEFAULT NULL, `type` varchar(255) NOT NULL DEFAULT 'note', `data_date` date DEFAULT NULL, `file_path` varchar(255) DEFAULT NULL, `file_name` varchar(255) DEFAULT NULL, `file_size` bigint(20) unsigned DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `workshop_data_workshop_project_id_foreign` (`workshop_project_id`), CONSTRAINT `workshop_data_workshop_project_id_foreign` FOREIGN KEY (`workshop_project_id`) REFERENCES `workshop_projects` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=46 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('12', '13', 'Brief Project', 'Nanti projectnya di push aja ke main, nanti ali coba cek jika sudah sesuai di upload ke ftpnya', 'note', NULL, NULL, NULL, NULL, '2026-08-23 05:32:51', '2026-08-23 05:33:32', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('13', '13', 'Akses Database Prod', 'https://db.kursusbatam.com/\r\nDB_DATABASE=sitohodu_prod-k3\r\nDB_USERNAME=sitohodu_k3-ali\r\nDB_PASSWORD=@Masuksaja12345', 'note', NULL, NULL, NULL, NULL, '2026-08-23 05:34:48', '2026-08-23 05:34:48', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('14', '10', 'Akses Dev', '/developer\r\ntrinity-rahasia-12345', 'note', NULL, NULL, NULL, NULL, '2026-08-23 12:21:56', '2026-08-23 12:22:14', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('15', '13', 'FTP Kursusbatam.com', 'amrizal@sitohodutakarya.id\r\nftp.sitohodutakarya.id\r\n@Masuksaja12345', 'note', NULL, NULL, NULL, NULL, '2026-08-27 00:08:07', '2026-08-27 00:08:07', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('16', '13', 'Link Akses Super Admin Kursusbatam.com', 'user : superadmin\r\npassword : Yn9f>iH)y>RQJ', 'note', NULL, NULL, NULL, NULL, '2026-08-27 07:39:02', '2026-08-27 07:39:02', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('17', '14', 'FTP GLobal Folder KepriWebsite', 'Host FTP : 46.202.186.247\r\nUsername : u682937550.amrizalkwm\r\nPassword : @Masuksaja12345', 'note', NULL, NULL, NULL, NULL, '2026-08-28 20:41:31', '2026-08-28 20:41:31', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('18', '14', 'Global Informasi', 'Silahkan buat folder proyek baru sesuai dengan task group, misal website berkah-aneka-karya, terus untuk melihatnya bisa ke portofolio.kepriwebsite.com', 'note', NULL, NULL, NULL, NULL, '2026-08-28 20:42:31', '2026-08-28 20:42:31', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('19', '14', 'Akses Database Link Berkah-Aneka Karya', 'Link : https://aksesdatabase.kepriwebsite.com/\r\nNama Database : u682937550_bak_db\r\nUsername : u682937550_bak_user\r\nPassword : @Masuksaja12345', 'note', NULL, NULL, NULL, NULL, '2026-08-28 20:47:14', '2026-08-28 20:47:14', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('20', '17', 'Clone From GITLAB KWM-ERP', 'Untuk Proses Clone KWM ERP dapat dilakukan dengan BRANCH BAK-ERP pada Gitlab. Untuk aksesnya sudah dikirim ke email.', 'note', NULL, NULL, NULL, NULL, '2026-08-31 15:12:43', '2026-08-31 15:12:43', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('21', '17', 'Panduan Developer Guide dan Agent AI Guide', 'Untuk mengetahui tentang sistem KWM ERP dapat membaca pada DEVELOPER_GUIDE.md, AGENTS.md dan README.md', 'note', NULL, NULL, NULL, NULL, '2026-08-31 15:14:17', '2026-08-31 15:14:17', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('22', '17', 'Lampiran Master Data Produk', 'Berikut Lampiran Master Data Produk', 'note', NULL, NULL, NULL, NULL, '2026-08-31 15:20:53', '2026-08-31 15:21:10', '2026-08-31 15:21:10'); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('23', '17', 'Lampiran Master Data Produk', NULL, 'file', NULL, 'workshop_files/fDI1Hy35OACvN16DdfGAR2VSiIZNCsD94hjrv0lh.xlsx', 'LINK INAVROCH PT BAK ALKES & PENUNJANG MEDIS.xlsx', '25069', '2026-08-31 15:21:22', '2026-08-31 15:21:22', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('24', '17', 'Link KWM ERP (app.kwmerp.com)', 'Host : 46.202.186.247\r\nFtp Username : u682937550.kwmerp.com\r\nFtp Password : @Masuksaja12345', 'note', NULL, NULL, NULL, NULL, '2026-09-01 09:31:26', '2026-09-01 09:31:26', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('25', '16', 'Git Clone From Repo', 'Link Git https://gitlab.com/Allsha/web_ptsts.git\r\nsudah di share juga ke email', 'note', NULL, NULL, NULL, NULL, '2026-09-02 13:58:48', '2026-09-02 13:58:48', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('26', '15', 'Link GIT', 'https://gitlab.com/Allsha/web_ptbak.git\r\nsudah dikirim ke email juga', 'note', NULL, NULL, NULL, NULL, '2026-09-02 15:25:30', '2026-09-02 15:25:30', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('27', '16', 'Login Web', 'Email: admin@sts.co.id\r\nPassword: password123', 'credentials', NULL, NULL, NULL, NULL, '2026-09-03 15:36:22', '2026-09-03 15:36:22', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('28', '16', 'CPANEL', 'Akses cpanel STS:\r\nhttps://sayangterbuangsolusi.co.id:2083/\r\nUser : sayt6681\r\nPassword : aBcVGtgvebyw82', 'note', NULL, NULL, NULL, NULL, '2026-09-03 15:42:24', '2026-09-03 15:42:24', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('29', '15', 'CPANEL BAK', 'https://berkahanekakarya.co.id:2083/\r\nUser : berb4155\r\nPassword : bBSTYQXzCbUv68', 'note', NULL, NULL, NULL, NULL, '2026-09-03 15:43:49', '2026-09-03 15:43:49', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('30', '15', 'Login Web', 'Email Admin: admin@berkahanekakarya.com\r\nPassword Admin: password', 'credentials', NULL, NULL, NULL, NULL, '2026-09-03 17:39:30', '2026-09-03 17:39:30', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('31', '18', 'Link FTP', 'Host : 147.93.80.26\r\nuser : u108795835.app-sts.com\r\npass : @Masuksaja12345\r\nport : 21', 'note', NULL, NULL, NULL, NULL, '2026-09-08 23:20:50', '2026-09-08 23:20:50', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('32', '17', 'Akses FTP BAK', 'host : 147.93.80.26\r\nuser : u108795835\r\npassword : @Masuksaja12345\r\nport : 21', 'note', NULL, NULL, NULL, NULL, '2026-09-08 23:22:20', '2026-09-08 23:22:20', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('33', '15', 'NIB PT STS', 'Dokumen NIB PT STS', 'file', NULL, 'workshop_files/gx7GL82z3BpeNawm7DECAgUBVjyOFtDdIMzGuV21.pdf', '13245cd095a2c34b135a9111136bb7f2.pdf', '1091284', '2026-09-09 14:17:56', '2026-09-09 14:17:56', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('34', '18', 'Jurnal Umum PT STS (example September)', 'Berikut contoh format PDF Jurnal Umum PT STS', 'file', NULL, 'workshop_files/CDmM8JUgwwOu6lxLvISSs7jHRXK7K7q4VnAKdsuq.pdf', '04505d50c054ca1e5f5f5ca659315e05.pdf', '146653', '2026-09-12 15:46:14', '2026-09-12 15:46:14', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('35', '18', 'Delivery Order PT STS', 'Delivery Order PT STS', 'file', NULL, 'workshop_files/1z9cAtFTLqTm923FaMMsGwBIGBqgV7YNO8C9znko.pdf', 'a7ee9d72aa2dd0c1cab19662520d2a75.pdf', '77964', '2026-09-12 15:47:07', '2026-09-12 15:47:07', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('36', '18', 'Invoice PT STS', 'Invoice PT STS', 'file', NULL, 'workshop_files/8DlVMmWcwDU6ZYlgVgyT0jaAwkYRQhSxIsOsBs2k.pdf', '21534173640efa77099867c8ccef234d.pdf', '94341', '2026-09-12 15:47:42', '2026-09-12 15:47:42', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('37', '18', 'PO PDF PT STS', 'Dokumen PO PT STS', 'file', NULL, 'workshop_files/KT5ZVN6qjTGINTsdbZsp0P3H7y2bpVmy1LcBcBKG.pdf', 'bbf048da8959320556d685fcbda3b45c.pdf', '105415', '2026-09-12 15:48:18', '2026-09-12 15:48:18', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('38', '18', 'Quo PT STS', 'Quotation PDF PT STS', 'file', NULL, 'workshop_files/HyVSnJ84lquMFSyipZaMbl6WzG9tlEKO8aqO77ki.pdf', '49c1a668211ef20223bce7ab22cfe147.pdf', '295404', '2026-09-12 15:48:56', '2026-09-12 15:48:56', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('39', '18', 'Neraca PT STS', 'Neraca PT STS', 'file', NULL, 'workshop_files/Kf6y8T4Zbl2UKKDIwda0u9AGbmB2LnmOpii9zHa1.pdf', '55ec94316129b6c7d7a0559147d5524a.pdf', '3991427', '2026-09-12 15:49:30', '2026-09-12 15:49:30', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('40', '18', 'Laba Rugi PT STS', 'Laba Rugi PT STS', 'file', NULL, 'workshop_files/OHn3WDbysEruy6bymM7miiOLI3Cj5yQQ62FyPoqf.pdf', 'faa1a083f15a5df05cd0be42a8f548e6.pdf', '154687', '2026-09-12 15:49:59', '2026-09-12 15:49:59', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('41', '18', 'Kategori Produk dijual PT STS', 'Kategori Produk di Jual PT STS', 'file', NULL, 'workshop_files/Qtl0PQtgz0MFo4v6D3BVFCOvuMTbJNt5mpbWo4la.pdf', '0e65d30902bbb1ff249d062ffcf9bd7a.pdf', '39689', '2026-09-12 15:50:34', '2026-09-12 15:50:34', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('42', '18', 'COA PT STS', 'COA PT STS', 'file', NULL, 'workshop_files/AvX9fxHkugvS7Bt2JPDjOThI5aquplcCSp7GZRP0.pdf', '59ccbfd33e336d3b0240d45ac4c89734.pdf', '57844', '2026-09-12 15:51:02', '2026-09-12 15:51:02', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('43', '18', 'REKAP PENJUALAN PT STS', 'Rekap Penjualan PT STS', 'note', NULL, NULL, NULL, NULL, '2026-09-12 15:51:43', '2026-09-12 15:51:43', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('44', '19', 'Dokumen MD', 'Dokumen MD', 'note', NULL, NULL, NULL, NULL, '2026-09-24 09:51:41', '2026-09-24 09:51:41', NULL); INSERT INTO `workshop_data` (`id`, `workshop_project_id`, `title`, `content`, `type`, `data_date`, `file_path`, `file_name`, `file_size`, `created_at`, `updated_at`, `deleted_at`) VALUES ('45', '19', 'MD', '# TUAH NUMERASI\n## Spesifikasi Lengkap Web Application\n### SDN 002 Batu Ampar\n\n**Versi:** 1.0 \n**Status:** Draft untuk Development \n**Jenis Sistem:** Web Application Pembelajaran, Asesmen, Monitoring, dan Pelaporan Numerasi \n**Target Pengguna:** Administrator, Kepala Sekolah, Guru, Murid \n**Stack Rekomendasi:** Laravel 12, PHP 8.3+, MySQL/MariaDB, Livewire, Tailwind CSS\n\n---\n\n# 1. Ringkasan Sistem\n\nTUAH NUMERASI adalah platform pembelajaran numerasi yang mengintegrasikan aktivitas harian, bank soal, asesmen diagnostik, proyek numerasi, peta kemampuan murid, monitoring guru, galeri kegiatan, serta laporan perkembangan.\n\nKonsep utama:\n\n> **Tumbuh Unggul melalui Aktivitas Harian Numerasi** \n> **Berhitung, Bernalar, Memecahkan Masalah**\n\nSistem tidak hanya menyimpan nilai, tetapi membentuk alur:\n\n```text\nMurid\n ↓\nAktivitas Numerasi\n ↓\nJawaban dan Proses Berpikir\n ↓\nPenilaian\n ↓\nPemetaan Domain Kemampuan\n ↓\nMonitoring Guru\n ↓\nPenguatan / Pendampingan\n ↓\nPerkembangan\n ↓\nLaporan\n```\n\nTarget program satu semester:\n\n- 100 Tantangan Numerasi\n- 20 Aktivitas Numerasi\n- 6 Proyek Numerasi\n- 3 Asesmen utama\n- 5 Domain Numerasi\n- 1 Semester\n\n---\n\n# 2. Tujuan\n\n## 2.1 Tujuan Utama\n\n- Membiasakan numerasi melalui aktivitas rutin.\n- Mengukur kemampuan awal, tengah, dan akhir.\n- Memetakan kemampuan murid per domain.\n- Membantu guru mengidentifikasi kebutuhan penguatan.\n- Menyediakan data perkembangan kelas.\n- Mengurangi rekap manual.\n- Menyediakan dokumentasi program numerasi sekolah.\n- Menyediakan laporan untuk guru dan kepala sekolah.\n\n## 2.2 Prinsip Pengembangan\n\n1. Mudah dipakai.\n2. Data akurat.\n3. Aman.\n4. Responsive.\n5. Tidak over-engineered.\n6. Mudah dikembangkan.\n7. Tidak membuat guru menambah pekerjaan administratif yang berlebihan.\n\n---\n\n# 3. Domain Numerasi\n\nSistem menggunakan lima domain utama:\n\n1. **Bilangan**\n2. **Geometri**\n3. **Pengukuran**\n4. **Data**\n5. **Penalaran**\n\nSetiap soal dapat memiliki:\n\n- kelas,\n- domain,\n- subdomain,\n- materi,\n- konteks,\n- level kesulitan,\n- bentuk soal,\n- bobot.\n\n---\n\n# 4. Role Pengguna\n\n## 4.1 Administrator\n\nHak akses:\n\n- Dashboard admin.\n- User management.\n- Guru.\n- Kepala sekolah.\n- Murid.\n- Kelas.\n- Tahun ajaran.\n- Semester.\n- Domain dan materi.\n- Bank soal.\n- Tantangan.\n- Asesmen.\n- Proyek.\n- Galeri.\n- Laporan.\n- Import/export.\n- Audit log.\n- Pengaturan.\n- Reset akun.\n- Mengatur threshold kemampuan.\n\n## 4.2 Kepala Sekolah\n\nHak akses:\n\n- Dashboard sekolah.\n- Monitoring seluruh kelas.\n- Statistik perkembangan.\n- Perbandingan kelas.\n- Monitoring asesmen.\n- Monitoring proyek.\n- Galeri.\n- Laporan.\n- Export laporan.\n\nSecara default kepala sekolah lebih banyak **view/monitoring**, bukan mengubah transaksi guru.\n\n## 4.3 Guru\n\nHak akses:\n\n- Dashboard kelas.\n- Data murid.\n- Bank soal.\n- Tantangan harian.\n- Asesmen.\n- Penilaian uraian.\n- Peta kemampuan.\n- Proyek.\n- Rubrik.\n- Galeri.\n- Laporan kelas.\n- Catatan murid.\n- Export PDF/Excel.\n\n## 4.4 Murid\n\nHak akses:\n\n- Dashboard pribadi.\n- Tantangan hari ini.\n- Asesmen.\n- Proyek.\n- Submission tugas.\n- Feedback.\n- Progress pribadi.\n- Profil.\n\nMurid tidak boleh melihat data pribadi atau nilai murid lain.\n\n---\n\n# 5. Matriks Hak Akses\n\n| Modul | Admin | Kepala Sekolah | Guru | Murid |\n|---|---|---|---|---|\n| Dashboard Sekolah | Full | View | Terbatas | Tidak |\n| Dashboard Kelas | Full | View | Full kelasnya | Tidak |\n| Data Murid | Full | View | Kelasnya | Diri sendiri |\n| Bank Soal | Full | View | CRUD | Tidak |\n| Tantangan | Full | View | CRUD | Kerjakan |\n| Asesmen | Full | View | CRUD | Kerjakan |\n| Peta Kemampuan | Full | View | Kelasnya | Pribadi terbatas |\n| Proyek | Full | View | CRUD | Ikut/submit |\n| Galeri | Full | View | CRUD | View |\n| Laporan | Full | Full | Kelasnya | Pribadi terbatas |\n| User Management | Full | Tidak | Tidak | Tidak |\n| Settings | Full | Tidak | Tidak | Tidak |\n| Audit Log | Full | Tidak | Tidak | Tidak |\n\nAuthorization wajib diperiksa di backend, bukan hanya dengan menyembunyikan menu.\n\n---\n\n# 6. Struktur Menu\n\n## Administrator\n\n```text\nDashboard\nMaster Data\n - Tahun Ajaran\n - Semester\n - Kelas\n - Domain\n - Materi\nUser\n - Kepala Sekolah\n - Guru\n - Murid\nPembelajaran\n - Bank Soal\n - Tantangan Harian\n - Asesmen\n - Proyek Numerasi\n - Galeri\nMonitoring\n - Peta Kemampuan\n - Laporan\nSystem\n - Import\n - Audit Log\n - Settings\n```\n\n## Guru\n\n```text\nDashboard\nMurid\nTantangan Harian\nAsesmen\nPeta Kemampuan\nProyek Numerasi\nBank Soal\nGaleri\nLaporan\n```\n\n## Kepala Sekolah\n\n```text\nDashboard\nMonitoring Kelas\nPerkembangan Numerasi\nAsesmen\nProyek\nGaleri\nLaporan\n```\n\n## Murid\n\n```text\nBeranda\nTantangan Hari Ini\nAsesmen\nProyek Saya\nPerkembangan Saya\nProfil\n```\n\n---\n\n# 7. Landing Page\n\nLanding page bersifat publik.\n\n## Komponen\n\n### Header\n\n- Logo TUAH NUMERASI.\n- Nama sekolah.\n- Beranda.\n- Tentang.\n- Tantangan.\n- Fitur.\n- Galeri.\n- Kontak.\n- Login.\n\n### Hero\n\nKonten:\n\n- TUAH NUMERASI.\n- Tumbuh Unggul melalui Aktivitas Harian Numerasi.\n- Berhitung, Bernalar, Memecahkan Masalah.\n- Tombol **Mulai Sekarang**.\n- Tombol **Login**.\n\n### Statistik Program\n\n- 100 Tantangan.\n- 20 Aktivitas.\n- 6 Proyek.\n- 1 Semester.\n\n### Fitur\n\n- Tantangan Harian.\n- Asesmen.\n- Peta Kemampuan.\n- Proyek.\n- Bank Soal.\n- Galeri.\n- Laporan.\n\n### Footer\n\n- Identitas sekolah.\n- Kontak.\n- Copyright.\n- Privacy policy jika diperlukan.\n\n---\n\n# 8. Login dan Authentication\n\n## Field\n\n- Email / NIP / NISN / Username.\n- Password.\n- Remember me.\n- Forgot password.\n\n## Security\n\n- Password hash menggunakan Bcrypt/Argon.\n- CSRF protection.\n- Rate limiting.\n- Session regeneration setelah login.\n- Session timeout.\n- Secure cookie di production.\n- Login activity log.\n- Tidak menyimpan password plaintext.\n- Account inactive tidak boleh login.\n\n## Account Murid\n\nLogin dapat menggunakan:\n\n```text\nNISN + password\n```\n\natau:\n\n```text\nNIS + password\n```\n\nAdmin/guru yang diberi hak dapat reset password murid.\n\n---\n\n# 9. Tahun Ajaran dan Semester\n\n## Tahun Ajaran\n\nField:\n\n- id\n- nama\n- tanggal mulai\n- tanggal selesai\n- aktif/tidak\n\nContoh:\n\n```text\n2026/2027\n```\n\n## Semester\n\nField:\n\n- tahun ajaran\n- nama semester\n- tanggal mulai\n- tanggal selesai\n- aktif/tidak\n\nContoh:\n\n- Ganjil.\n- Genap.\n\nData historis tidak boleh hilang ketika semester berganti.\n\n---\n\n# 10. Kelas\n\nField:\n\n- ID.\n- Tahun ajaran.\n- Nama kelas.\n- Tingkat.\n- Wali/guru.\n- Status.\n\nContoh:\n\n```text\n5A\n5B\n6A\n```\n\nMurid harus memiliki histori kelas agar data tahun sebelumnya tetap bisa dibuka.\n\n---\n\n# 11. Data Murid\n\n## Field\n\n- ID.\n- User ID.\n- NISN.\n- NIS.\n- Nama lengkap.\n- Nama panggilan.\n- Jenis kelamin.\n- Tempat lahir.\n- Tanggal lahir.\n- Kelas.\n- Status.\n- Foto.\n- Nama wali.\n- Nomor wali.\n- Catatan.\n\n## Fitur\n\n- Tambah.\n- Edit.\n- Arsip.\n- Cari.\n- Filter kelas.\n- Import Excel.\n- Export Excel.\n- Detail.\n- Riwayat kelas.\n- Riwayat asesmen.\n- Riwayat tantangan.\n- Riwayat proyek.\n\n## Profil Murid\n\nMenampilkan:\n\n- Biodata.\n- Kelas.\n- Nilai domain.\n- Grafik perkembangan.\n- Asesmen awal/tengah/akhir.\n- Tantangan.\n- Proyek.\n- Catatan guru.\n- Rekomendasi penguatan.\n\n---\n\n# 12. Dashboard Guru\n\nDashboard guru menjadi pusat aktivitas.\n\n## KPI\n\n- Jumlah murid.\n- Tantangan selesai.\n- Rata-rata numerasi.\n- Persentase murid berkembang.\n- Proyek selesai.\n- Asesmen aktif.\n- Murid perlu perhatian.\n\nContoh:\n\n```text\nJumlah Murid 38\nTantangan Selesai 42 / 100\nRata-rata Numerasi 82\nMurid Berkembang 86%\nProyek Selesai 3 / 6\n```\n\n## Grafik\n\n### Perkembangan kelas\n\n```text\nAwal → Bulan 1 → Bulan 2 → Bulan 3 → Bulan 4 → Akhir\n```\n\n### Nilai per domain\n\n- Bilangan.\n- Geometri.\n- Pengukuran.\n- Data.\n- Penalaran.\n\n## Tantangan Hari Ini\n\nMenampilkan:\n\n- nomor,\n- judul,\n- materi,\n- level,\n- jumlah murid selesai,\n- progress,\n- tombol lihat soal,\n- tombol lihat hasil.\n\n## Murid yang Memerlukan Perhatian\n\n| Nama | Domain | Nilai | Tren | Status | Aksi |\n|---|---|---:|---|---|---|\n\n---\n\n# 13. Peta Kemampuan Murid\n\nPeta kemampuan adalah salah satu fitur inti.\n\n## Format\n\n| Murid | Bilangan | Geometri | Pengukuran | Data | Penalaran | Status |\n|---|---:|---:|---:|---:|---:|---|\n\n## Threshold Default\n\n```text\n>= 75 = Baik\n60 - 74 = Perlu Penguatan\n< 60 = Perlu Pendampingan\n```\n\nThreshold harus configurable.\n\n## Trend\n\n- Naik.\n- Stabil.\n- Turun.\n\n## Detail Murid\n\nSistem menampilkan:\n\n- score terkini,\n- riwayat score,\n- sumber nilai,\n- domain lemah,\n- domain kuat,\n- catatan guru.\n\nContoh insight berbasis rule:\n\n> Nilai Data Ahmad berada di bawah 60 pada tiga aktivitas terakhir. Disarankan penguatan membaca tabel dan diagram sederhana.\n\n---\n\n# 14. Bank Soal\n\n## Field Soal\n\n- ID.\n- Kode.\n- Kelas.\n- Domain.\n- Subdomain.\n- Materi.\n- Kompetensi.\n- Konteks.\n- Level.\n- Bentuk soal.\n- Pertanyaan.\n- Gambar.\n- Pilihan jawaban.\n- Jawaban benar.\n- Pembahasan.\n- Bobot.\n- Durasi opsional.\n- Status.\n- Pembuat.\n- Created at.\n- Updated at.\n\n## Bentuk Soal\n\nMVP:\n\n- Pilihan Ganda.\n- Benar/Salah.\n- Isian Singkat.\n- Uraian.\n\nFuture:\n\n- Multiple Answer.\n- Matching.\n- Drag and Drop.\n\n## Level\n\n- Mudah.\n- Sedang.\n- HOTS.\n\n## Fitur\n\n- CRUD.\n- Search.\n- Filter.\n- Pagination.\n- Preview.\n- Duplicate.\n- Archive.\n- Import Excel.\n- Export.\n- Acak soal.\n- Tambah ke tantangan.\n- Tambah ke asesmen.\n- Cetak LKPD.\n\n## Validasi\n\nUntuk pilihan ganda:\n\n- minimal 2 pilihan,\n- harus ada jawaban benar,\n- pertanyaan wajib,\n- domain wajib,\n- bobot > 0.\n\n---\n\n# 15. Format Kode Soal\n\nContoh:\n\n```text\nQ-NUM-5-001\nQ-DATA-5-002\nQ-GEO-5-003\n```\n\nKeuntungan:\n\n- mudah dicari,\n- mudah dilacak,\n- mudah dibahas guru.\n\n---\n\n# 16. Tantangan Numerasi Harian\n\n## Tujuan\n\nMemberikan latihan singkat dan rutin.\n\n## Field\n\n- ID.\n- Nomor tantangan.\n- Judul.\n- Kelas.\n- Domain.\n- Materi.\n- Level.\n- Tanggal.\n- Waktu mulai.\n- Waktu selesai.\n- Deskripsi.\n- Status.\n- Dibuat oleh.\n\n## Status\n\n```text\ndraft\nscheduled\npublished\nclosed\narchived\n```\n\n## Alur Guru\n\n```text\nTambah Tantangan\n↓\nPilih Kelas\n↓\nPilih Tanggal\n↓\nPilih Soal\n↓\nAtur Waktu\n↓\nPreview\n↓\nPublish\n```\n\n## Alur Murid\n\n```text\nLogin\n↓\nTantangan Hari Ini\n↓\nBuka\n↓\nJawab\n↓\nTulis proses berpikir\n↓\nSubmit\n↓\nFeedback\n```\n\n## Jawaban Disimpan\n\n- student_id.\n- question_id.\n- challenge_id.\n- jawaban.\n- reasoning.\n- benar/salah.\n- skor.\n- teacher feedback.\n- started_at.\n- submitted_at.\n- duration.\n\n## Feedback\n\nMode:\n\n- langsung,\n- setelah deadline,\n- setelah guru membuka hasil.\n\n---\n\n# 17. Asesmen Diagnostik\n\n## Jenis\n\n1. Asesmen Awal.\n2. Asesmen Tengah.\n3. Asesmen Akhir.\n\n## Tujuan\n\n**Awal:** baseline. \n**Tengah:** monitoring. \n**Akhir:** evaluasi.\n\n## Field\n\n- Nama.\n- Jenis.\n- Tahun ajaran.\n- Semester.\n- Kelas.\n- Deskripsi.\n- Mulai.\n- Berakhir.\n- Durasi.\n- Shuffle soal.\n- Shuffle jawaban.\n- Tampilkan skor.\n- Tampilkan pembahasan.\n- Status.\n\n## Status\n\n```text\ndraft\nscheduled\nactive\nclosed\nreview\ncompleted\narchived\n```\n\n## Komposisi Contoh\n\n```text\nBilangan 20\nGeometri 15\nPengukuran 15\nData 20\nPenalaran 15\n```\n\nKomposisi harus configurable.\n\n## Assessment Player\n\nMurid melihat:\n\n- nomor soal,\n- progress,\n- timer,\n- previous,\n- next,\n- flag/ragu-ragu,\n- tombol submit.\n\n## Timer\n\n- dikontrol server,\n- refresh tidak mengulang timer,\n- waktu habis dapat auto-submit.\n\n## Autosave\n\nJawaban disimpan secara periodik atau saat berpindah soal.\n\n---\n\n# 18. Scoring\n\n## Pilihan Ganda\n\n```text\nscore = weight jika benar\nscore = 0 jika salah\n```\n\n## Persentase\n\n```text\npercentage =\ntotal_score / maximum_score * 100\n```\n\n## Domain Score\n\n```text\ndomain_score =\ntotal_score_domain / maximum_score_domain * 100\n```\n\n## Growth\n\n```text\ngrowth = final_score - initial_score\n```\n\nContoh:\n\n```text\nAwal = 68\nAkhir = 84\n\nGrowth = +16\n```\n\n## Uraian\n\nUraian dinilai guru menggunakan:\n\n- skor,\n- rubrik bila tersedia,\n- feedback.\n\n---\n\n# 19. Hasil Asesmen\n\nPer murid:\n\n- jumlah soal,\n- benar,\n- salah,\n- tidak dijawab,\n- total skor,\n- persentase,\n- domain score,\n- durasi,\n- status grading.\n\nPerbandingan:\n\n- Awal vs Tengah.\n- Tengah vs Akhir.\n- Awal vs Akhir.\n\n---\n\n# 20. Question Snapshot\n\nSaat asesmen dipublish, disarankan membuat snapshot isi soal:\n\n- pertanyaan,\n- pilihan,\n- jawaban benar,\n- bobot.\n\nTujuannya agar histori asesmen tidak berubah jika soal di bank soal diedit kemudian.\n\nSetelah asesmen aktif, soal tidak boleh diedit bebas.\n\n---\n\n# 21. Proyek Numerasi\n\nEnam proyek contoh:\n\n1. Pasar Mini TUAH.\n2. Ukur Sekolahku.\n3. Detektif Data.\n4. Kantin Sehat.\n5. Numerasi Lingkunganku.\n6. Festival TUAH Numerasi.\n\n## Field\n\n- Judul.\n- Slug.\n- Deskripsi.\n- Tujuan.\n- Kompetensi.\n- Kelas.\n- Guru.\n- Tanggal mulai.\n- Tanggal selesai.\n- Instruksi.\n- LKPD.\n- Status.\n- Dokumentasi.\n\n## Status\n\n```text\ndraft\nplanned\nactive\nreview\ncompleted\narchived\n```\n\n## Submission\n\nMurid dapat mengirim:\n\n- teks,\n- file,\n- foto,\n- link.\n\n## Rubrik\n\nContoh:\n\n- Pemahaman konsep.\n- Ketepatan.\n- Penalaran.\n- Kreativitas.\n- Presentasi.\n- Kerja sama.\n\n---\n\n# 22. Galeri TUAH\n\n## Isi\n\n- Foto.\n- Judul.\n- Deskripsi.\n- Kategori.\n- Proyek.\n- Tanggal.\n- Caption.\n- Status publish.\n\n## Kategori\n\n- Pasar Mini.\n- Ukur Sekolahku.\n- Detektif Data.\n- Kantin Sehat.\n- Numerasi Lingkunganku.\n- Festival.\n- Aktivitas Umum.\n\n## Catatan Privasi\n\nKarena melibatkan anak, publikasi galeri harus mengikuti kebijakan sekolah dan persetujuan yang berlaku.\n\n---\n\n# 23. Dashboard Kepala Sekolah\n\n## KPI\n\n- Total murid.\n- Total kelas.\n- Rata-rata sekolah.\n- Persentase berkembang.\n- Tantangan selesai.\n- Proyek selesai.\n- Asesmen selesai.\n\n## Monitoring Kelas\n\n| Kelas | Murid | Rata-rata | Growth | Tantangan | Proyek | Status |\n|---|---:|---:|---:|---:|---:|---|\n\n## Analisis Domain\n\n| Domain | Awal | Tengah | Akhir | Growth |\n|---|---:|---:|---:|---:|\n\nDashboard kepala sekolah sebaiknya mengutamakan agregat dan indikator program.\n\n---\n\n# 24. Dashboard Murid\n\nTampilan sederhana:\n\n- Halo, Nama.\n- Tantangan Hari Ini.\n- Progress.\n- Asesmen aktif.\n- Proyek aktif.\n- Feedback terbaru.\n\nGamification opsional:\n\n- badge,\n- poin,\n- streak,\n- trophy.\n\nLeaderboard terbuka tidak direkomendasikan menjadi fitur utama.\n\n---\n\n# 25. Laporan\n\n## Jenis\n\n### Laporan Murid\n\n- identitas,\n- hasil asesmen,\n- domain,\n- grafik,\n- tantangan,\n- proyek,\n- catatan guru,\n- rekomendasi.\n\n### Laporan Kelas\n\n- kelas,\n- guru,\n- jumlah murid,\n- rata-rata,\n- growth,\n- domain,\n- murid perlu perhatian,\n- aktivitas,\n- proyek.\n\n### Laporan Sekolah\n\n- semua kelas,\n- perkembangan,\n- perbandingan,\n- pencapaian program.\n\n### Laporan Tantangan\n\n- peserta,\n- completion,\n- score,\n- soal sulit.\n\n### Laporan Asesmen\n\n- distribusi score,\n- domain,\n- murid,\n- comparison.\n\n### Laporan Proyek\n\n- progress,\n- score,\n- dokumentasi.\n\n## Export\n\n- PDF.\n- Excel.\n- CSV opsional.\n\n---\n\n# 26. Formula KPI\n\nSemua KPI harus memiliki definisi.\n\n## Murid Berkembang\n\n```text\njumlah murid dengan growth positif\n---------------------------------- x 100\njumlah murid dengan data pembanding lengkap\n```\n\nMurid tanpa baseline tidak boleh dianggap turun atau naik.\n\nTampilkan:\n\n> Data belum cukup.\n\njika perbandingan tidak tersedia.\n\n---\n\n# 27. Analisis Tingkat Kesulitan Soal\n\nFuture/advanced:\n\n```text\ndifficulty_index =\njumlah murid menjawab benar / jumlah murid menjawab * 100\n```\n\nContoh:\n\n```text\n8 benar / 40 menjawab = 20%\n```\n\nDapat membantu guru mengevaluasi soal.\n\n---\n\n# 28. Analisis Distractor\n\nUntuk pilihan ganda, tampilkan distribusi:\n\n```text\nA = 5 murid\nB = 30 murid\nC = 3 murid\nD = 2 murid\n```\n\nGuru dapat melihat pilihan salah mana yang paling sering dipilih.\n\n---\n\n# 29. Notifikasi\n\nGuru:\n\n- submission baru,\n- asesmen selesai,\n- deadline,\n- murid belum mengerjakan.\n\nMurid:\n\n- tantangan baru,\n- asesmen aktif,\n- proyek baru,\n- feedback.\n\nKepala sekolah:\n\n- laporan program tersedia,\n- asesmen selesai.\n\nHindari notifikasi berlebihan.\n\n---\n\n# 30. Audit Log\n\nAktivitas penting:\n\n- login,\n- logout,\n- tambah/edit/hapus murid,\n- publish tantangan,\n- publish asesmen,\n- perubahan nilai,\n- reset attempt,\n- export data.\n\nField:\n\n- user_id.\n- action.\n- module.\n- record_type.\n- record_id.\n- old_values JSON.\n- new_values JSON.\n- IP.\n- user agent.\n- timestamp.\n\n---\n\n# 31. Struktur Database\n\n## users\n\n```text\nid\nname\nemail\nusername\npassword\nstatus\nlast_login_at\nremember_token\ntimestamps\n```\n\n## teachers\n\n```text\nid\nuser_id\nnip\nemployee_number\nfull_name\ngender\nphone\nphoto\nstatus\ntimestamps\n```\n\n## students\n\n```text\nid\nuser_id\nnisn\nnis\nfull_name\nnickname\ngender\nbirth_place\nbirth_date\nguardian_name\nguardian_phone\nphoto\nstatus\nnotes\ntimestamps\ndeleted_at\n```\n\n## academic_years\n\n```text\nid\nname\nstart_date\nend_date\nis_active\ntimestamps\n```\n\n## semesters\n\n```text\nid\nacademic_year_id\nname\nstart_date\nend_date\nis_active\ntimestamps\n```\n\n## classes\n\n```text\nid\nacademic_year_id\nname\ngrade\nteacher_id\nstatus\ntimestamps\n```\n\n## class_students\n\n```text\nid\nclass_id\nstudent_id\nacademic_year_id\nstart_date\nend_date\nstatus\ntimestamps\n```\n\n## numeracy_domains\n\n```text\nid\ncode\nname\ndescription\ncolor\nicon\norder_no\nstatus\ntimestamps\n```\n\n## numeracy_materials\n\n```text\nid\ndomain_id\ngrade\nname\ndescription\nstatus\ntimestamps\n```\n\n## questions\n\n```text\nid\ncode\ngrade\ndomain_id\nmaterial_id\nlevel\nquestion_type\ncontext\nquestion_text\nimage_path\ncorrect_answer\nexplanation\nweight\nduration_seconds\ncreated_by\nstatus\ntimestamps\ndeleted_at\n```\n\n## question_options\n\n```text\nid\nquestion_id\noption_key\noption_text\nimage_path\nis_correct\norder_no\ntimestamps\n```\n\n## daily_challenges\n\n```text\nid\nchallenge_number\nclass_id\ntitle\ndescription\nchallenge_date\nlevel\nstart_at\nend_at\nstatus\ncreated_by\ntimestamps\n```\n\n## daily_challenge_questions\n\n```text\nid\ndaily_challenge_id\nquestion_id\norder_no\nweight\ntimestamps\n```\n\n## student_challenge_answers\n\n```text\nid\ndaily_challenge_id\nquestion_id\nstudent_id\nanswer\nreasoning\nis_correct\nscore\nteacher_feedback\nstarted_at\nsubmitted_at\nduration_seconds\ntimestamps\n```\n\n## assessments\n\n```text\nid\nclass_id\nacademic_year_id\nsemester_id\nname\nassessment_type\ndescription\nstart_at\nend_at\nduration_minutes\nshuffle_questions\nshuffle_options\nshow_score\nshow_explanation\nstatus\ncreated_by\ntimestamps\n```\n\n## assessment_questions\n\n```text\nid\nassessment_id\nquestion_id\norder_no\nweight\nsnapshot_json\ntimestamps\n```\n\n## student_assessments\n\n```text\nid\nassessment_id\nstudent_id\nstatus\nstarted_at\nsubmitted_at\nscore\npercentage\nduration_seconds\ntimestamps\n```\n\n## student_assessment_answers\n\n```text\nid\nstudent_assessment_id\nquestion_id\nanswer\nreasoning\nis_correct\nscore\nteacher_feedback\ntimestamps\n```\n\n## student_domain_scores\n\n```text\nid\nstudent_id\nclass_id\ndomain_id\nsource_type\nsource_id\nscore\ncalculated_at\ntimestamps\n```\n\n## student_competency_summaries\n\n```text\nid\nstudent_id\nclass_id\ndomain_id\naverage_score\nlevel\ntrend\ncalculated_at\ntimestamps\n```\n\n## projects\n\n```text\nid\nclass_id\ntitle\nslug\ndescription\nobjective\ninstruction\nstart_date\nend_date\nworksheet_path\nstatus\ncreated_by\ntimestamps\n```\n\n## project_rubrics\n\n```text\nid\nproject_id\ncriterion\ndescription\nmax_score\nweight\norder_no\ntimestamps\n```\n\n## project_submissions\n\n```text\nid\nproject_id\nstudent_id\nsubmission_text\nfile_path\nlink\nsubmitted_at\nstatus\ntimestamps\n```\n\n## project_scores\n\n```text\nid\nproject_submission_id\nrubric_id\nscore\nnotes\nassessed_by\ntimestamps\n```\n\n## galleries\n\n```text\nid\nproject_id\ntitle\ndescription\ncategory\nevent_date\nstatus\nuploaded_by\ntimestamps\n```\n\n## gallery_media\n\n```text\nid\ngallery_id\nmedia_type\nfile_path\nthumbnail_path\nexternal_url\ncaption\norder_no\ntimestamps\n```\n\n## activity_logs\n\n```text\nid\nuser_id\naction\nmodule\nrecord_type\nrecord_id\nold_values\nnew_values\nip_address\nuser_agent\ncreated_at\n```\n\n---\n\n# 32. Relasi Utama\n\n```text\nusers\n ├─ teachers\n └─ students\n\nacademic_years\n ├─ semesters\n └─ classes\n └─ class_students\n └─ students\n\nnumeracy_domains\n └─ numeracy_materials\n └─ questions\n └─ question_options\n\ndaily_challenges\n └─ daily_challenge_questions\n └─ questions\n └─ student_challenge_answers\n\nassessments\n ├─ assessment_questions\n └─ student_assessments\n └─ student_assessment_answers\n\nprojects\n ├─ project_rubrics\n ├─ project_submissions\n └─ galleries\n```\n\n---\n\n# 33. Business Rules\n\n## Kelas\n\n- Murid hanya aktif di kelas sesuai tahun ajaran.\n- Histori kelas disimpan.\n\n## Tantangan\n\n- Murid hanya melihat tantangan kelasnya.\n- Tantangan mengikuti window waktu.\n- Double submit dicegah.\n\n## Asesmen\n\n- Satu attempt default.\n- Guru dapat reset attempt sesuai permission.\n- Reset tercatat audit log.\n- Timer server-side.\n- Setelah waktu habis dapat auto-submit.\n- Uraian dapat menunggu grading.\n- Nilai final setelah grading selesai.\n\n## Nilai\n\n- Formula disimpan di service terpusat.\n- Perubahan nilai manual dicatat.\n\n---\n\n# 34. Arsitektur Laravel\n\nRekomendasi:\n\n```text\napp/\n├── Actions/\n├── DTO/\n├── Enums/\n├── Events/\n├── Http/\n│ ├── Controllers/\n│ ├── Middleware/\n│ ├── Requests/\n│ └── Resources/\n├── Livewire/\n├── Models/\n├── Notifications/\n├── Policies/\n├── Services/\n└── Support/\n```\n\n## Service\n\n```text\nChallengeService\nAssessmentService\nScoringService\nCompetencyService\nProjectService\nReportService\nFileUploadService\nNotificationService\n```\n\nFormula jangan tersebar di controller.\n\n---\n\n# 35. Model Laravel\n\n```text\nUser\nTeacher\nStudent\nAcademicYear\nSemester\nSchoolClass\nClassStudent\nNumeracyDomain\nNumeracyMaterial\nQuestion\nQuestionOption\nDailyChallenge\nDailyChallengeQuestion\nStudentChallengeAnswer\nAssessment\nAssessmentQuestion\nStudentAssessment\nStudentAssessmentAnswer\nStudentDomainScore\nStudentCompetencySummary\nProject\nProjectRubric\nProjectSubmission\nProjectScore\nGallery\nGalleryMedia\nActivityLog\n```\n\n---\n\n# 36. Form Request\n\n```text\nStoreStudentRequest\nUpdateStudentRequest\nStoreQuestionRequest\nUpdateQuestionRequest\nStoreChallengeRequest\nSubmitChallengeRequest\nStoreAssessmentRequest\nSubmitAssessmentRequest\nStoreProjectRequest\nSubmitProjectRequest\n```\n\n---\n\n# 37. Policy\n\n```text\nStudentPolicy\nQuestionPolicy\nChallengePolicy\nAssessmentPolicy\nProjectPolicy\nReportPolicy\n```\n\nContoh:\n\nGuru kelas 5A tidak boleh membuka detail murid kelas 5B jika tidak memiliki permission.\n\n---\n\n# 38. API Future Ready\n\nPrefix:\n\n```text\n/api/v1\n```\n\n## Auth\n\n```http\nPOST /api/v1/login\nPOST /api/v1/logout\nGET /api/v1/me\n```\n\n## Students\n\n```http\nGET /api/v1/students\nPOST /api/v1/students\nGET /api/v1/students/{id}\nPUT /api/v1/students/{id}\nDELETE /api/v1/students/{id}\n```\n\n## Questions\n\n```http\nGET /api/v1/questions\nPOST /api/v1/questions\nGET /api/v1/questions/{id}\nPUT /api/v1/questions/{id}\nDELETE /api/v1/questions/{id}\n```\n\n## Challenges\n\n```http\nGET /api/v1/challenges\nPOST /api/v1/challenges\nGET /api/v1/challenges/{id}\nPUT /api/v1/challenges/{id}\nPOST /api/v1/challenges/{id}/submit\nGET /api/v1/challenges/{id}/results\n```\n\n## Assessments\n\n```http\nGET /api/v1/assessments\nPOST /api/v1/assessments\nGET /api/v1/assessments/{id}\nPOST /api/v1/assessments/{id}/start\nPOST /api/v1/assessments/{id}/submit\nGET /api/v1/assessments/{id}/result\n```\n\n## Projects\n\n```http\nGET /api/v1/projects\nPOST /api/v1/projects\nGET /api/v1/projects/{id}\nPOST /api/v1/projects/{id}/submit\n```\n\n## Reports\n\n```http\nGET /api/v1/reports/student/{id}\nGET /api/v1/reports/class/{id}\nGET /api/v1/reports/school\n```\n\nJika aplikasi tetap Laravel + Livewire monolith, API penuh belum wajib.\n\n---\n\n# 39. UI/UX\n\n## Karakter Visual\n\n- Ceria.\n- Profesional.\n- Ramah anak.\n- Tidak terlalu ramai.\n- Mudah digunakan guru.\n\n## Warna\n\n```text\nNavy #0E3A78\nBlue #2F80ED\nGreen #18A957\nOrange #F47B20\nPurple #7D50D8\nPink #E84A83\nBackground #F5F8FC\n```\n\n## Typography\n\nRekomendasi:\n\n- Inter.\n- Poppins.\n- Nunito.\n\n## Komponen\n\n- Card.\n- Table.\n- Input.\n- Select.\n- Textarea.\n- Button.\n- Badge.\n- Alert.\n- Modal.\n- Toast.\n- Pagination.\n- Tabs.\n- Breadcrumb.\n- Empty state.\n- Skeleton/loading.\n\n## Responsive\n\n- Desktop.\n- Laptop.\n- Tablet.\n- Smartphone.\n\n---\n\n# 40. UX Murid\n\nHalaman murid dibuat sesederhana mungkin.\n\nContoh:\n\n```text\nTantangan #27\nKamis Data\nInterpretasi Data\n\n[SOAL]\n\nA\nB\nC\nD\n\nJelaskan caramu:\n\n[TEXTAREA]\n\n[KIRIM]\n```\n\nButton harus besar dan mudah disentuh.\n\n---\n\n# 41. UX Guru\n\nGuru harus dapat membuat tantangan secara singkat:\n\n```text\nTambah\n↓\nPilih Soal\n↓\nPilih Kelas\n↓\nPilih Jadwal\n↓\nPublish\n```\n\nHindari form panjang bila tidak diperlukan.\n\n---\n\n# 42. Error dan Empty State\n\nContoh:\n\n> Belum ada tantangan hari ini.\n\n> Belum ada asesmen aktif.\n\n> Belum ada dokumentasi untuk proyek ini.\n\nError:\n\n> Jawaban belum berhasil disimpan. Periksa koneksi lalu coba kembali.\n\nJangan tampilkan stack trace di production.\n\n---\n\n# 43. Security Requirements\n\n## Authentication\n\n- Password hashing.\n- Session secure.\n- CSRF.\n- Rate limit.\n\n## Authorization\n\n- Policy.\n- Permission.\n- Scope kelas.\n\n## SQL Injection\n\nGunakan Eloquent/Query Builder/parameter binding.\n\n## XSS\n\n- Escape output.\n- Sanitize rich text.\n- Jangan render input user sebagai HTML mentah.\n\n## IDOR\n\nPeriksa kepemilikan/hak akses setiap record.\n\n## Mass Assignment\n\nAtur `$fillable`/`$guarded`.\n\n## Upload\n\n- whitelist MIME,\n- batasi ukuran,\n- random filename,\n- larang executable,\n- jangan percaya extension saja.\n\n## Secret\n\nGunakan `.env`.\n\nJangan commit credential.\n\n---\n\n# 44. Security Headers\n\nDirekomendasikan:\n\n- Content-Security-Policy.\n- X-Content-Type-Options.\n- Referrer-Policy.\n- Permissions-Policy.\n- frame-ancestors/X-Frame-Options.\n\nProduction wajib HTTPS.\n\n---\n\n# 45. Privacy Data Murid\n\n- NISN tidak ditampilkan publik.\n- Data pribadi dibatasi.\n- Foto murid tidak otomatis menjadi publik.\n- Akses laporan menggunakan permission.\n- HTTPS.\n- Audit aktivitas penting.\n- Hindari menyalin data production ke staging tanpa masking.\n\n---\n\n# 46. File Storage\n\nAwal:\n\n```text\nstorage/app/public\n```\n\nFolder:\n\n```text\nstudents/\nquestions/\nprojects/\ngalleries/\nreports/\n```\n\nJika galeri membesar:\n\n- object storage,\n- S3-compatible,\n- MinIO,\n- storage cloud.\n\nVideo besar tidak disarankan disimpan langsung pada MVP.\n\n---\n\n# 47. Media Optimization\n\nFoto:\n\n- resize,\n- compress,\n- thumbnail.\n\nContoh limit:\n\n```text\n5 MB / foto\n```\n\nSesuaikan kapasitas server.\n\n---\n\n# 48. Import Excel\n\nDapat digunakan untuk:\n\n- murid,\n- guru,\n- bank soal.\n\nWorkflow:\n\n```text\nUpload\n↓\nPreview\n↓\nValidasi\n↓\nTampilkan Error\n↓\nKonfirmasi\n↓\nImport\n↓\nRingkasan\n```\n\nJangan langsung memasukkan data yang belum tervalidasi.\n\n---\n\n# 49. Export\n\nExcel:\n\n- data murid,\n- nilai,\n- tantangan,\n- asesmen,\n- proyek,\n- laporan.\n\nPDF:\n\n- laporan murid,\n- laporan kelas,\n- asesmen,\n- LKPD.\n\nRekomendasi:\n\n- Maatwebsite Excel.\n- DomPDF.\n\n---\n\n# 50. Queue\n\nGunakan queue untuk:\n\n- export besar,\n- generate PDF besar,\n- email,\n- thumbnail,\n- notifikasi,\n- recalculation berat.\n\nUntuk awal:\n\n```text\nQUEUE_CONNECTION=database\n```\n\nRedis dapat digunakan jika kebutuhan meningkat.\n\n---\n\n# 51. Scheduler\n\nLaravel Scheduler:\n\n- menutup asesmen otomatis,\n- reminder deadline,\n- recalculation,\n- cleanup temp file,\n- backup.\n\n---\n\n# 52. Performance\n\nTarget:\n\n- page normal < 3 detik pada koneksi wajar,\n- pagination,\n- eager loading,\n- hindari N+1,\n- cache master data,\n- lazy load media,\n- thumbnail galeri.\n\nIndex penting:\n\n- users.email,\n- students.nisn,\n- class_students.class_id,\n- class_students.student_id,\n- questions.domain_id,\n- daily_challenges.class_id,\n- challenge_date,\n- student_challenge_answers.student_id,\n- assessments.class_id,\n- student_assessments.student_id.\n\n---\n\n# 53. Backup\n\nMinimal:\n\n- database harian,\n- file/media,\n- backup sebelum deployment besar,\n- prosedur restore.\n\nContoh retention:\n\n```text\nDaily 7 hari\nWeekly 4 minggu\nMonthly 3 bulan\n```\n\nSesuaikan kebijakan sekolah.\n\n---\n\n# 54. Logging dan Monitoring\n\nMonitor:\n\n- aplikasi,\n- database,\n- disk,\n- queue,\n- backup,\n- HTTP errors.\n\nJangan log:\n\n- password,\n- secret token,\n- data sensitif yang tidak diperlukan.\n\n---\n\n# 55. Deployment\n\nRekomendasi:\n\n```text\nLinux\nNginx\nPHP 8.3+\nMySQL 8 / MariaDB\nSSL\nSupervisor optional\nRedis optional\n```\n\nContoh production:\n\n```bash\ncomposer install --no-dev --optimize-autoloader\nphp artisan migrate --force\nphp artisan config:cache\nphp artisan route:cache\nphp artisan view:cache\nnpm ci\nnpm run build\n```\n\n---\n\n# 56. Environment\n\n```text\nAPP_ENV=production\nAPP_DEBUG=false\nAPP_URL=https://domain-sekolah\n\nDB_CONNECTION=mysql\nDB_HOST=127.0.0.1\nDB_PORT=3306\nDB_DATABASE=tuah_numerasi\nDB_USERNAME=tuah_user\n\nSESSION_DRIVER=database\nQUEUE_CONNECTION=database\nCACHE_STORE=file\n```\n\nCredential asli tidak ditulis di dokumentasi.\n\n---\n\n# 57. Environment Development\n\nMinimal:\n\n- Local.\n- Staging.\n- Production.\n\nJangan coding langsung di production.\n\n---\n\n# 58. Testing\n\n## Unit Test\n\n- scoring,\n- growth,\n- domain score,\n- competency level.\n\n## Feature Test\n\n- login,\n- tambah murid,\n- create question,\n- publish challenge,\n- submit challenge,\n- start assessment,\n- submit assessment,\n- authorization,\n- report.\n\n## UAT\n\nMelibatkan:\n\n- Admin.\n- Guru.\n- Kepala sekolah.\n- Perwakilan murid.\n\n---\n\n# 59. Contoh UAT\n\n## UAT Login Guru\n\n**Precondition:** akun guru aktif.\n\n**Steps:**\n\n1. Buka login.\n2. Isi akun.\n3. Klik Masuk.\n\n**Expected:**\n\n- Berhasil login.\n- Masuk Dashboard Guru.\n- Menu sesuai role.\n\n## UAT Tantangan\n\n**Expected:**\n\n- Tantangan muncul hanya di kelas terkait.\n- Jawaban tersimpan.\n- Reasoning tersimpan.\n- Guru dapat melihat hasil.\n\n## UAT Permission\n\nGuru kelas A membuka URL murid kelas B.\n\n**Expected:**\n\n```text\n403 Forbidden\n```\n\natau akses ditolak dengan aman.\n\n---\n\n# 60. Acceptance Criteria MVP\n\nMVP siap digunakan apabila:\n\n- [ ] Login berjalan.\n- [ ] Role/permission berjalan.\n- [ ] Master tahun ajaran berjalan.\n- [ ] Semester berjalan.\n- [ ] Kelas berjalan.\n- [ ] Murid berjalan.\n- [ ] Bank soal berjalan.\n- [ ] Tantangan berjalan.\n- [ ] Murid dapat submit.\n- [ ] Asesmen berjalan.\n- [ ] Timer dan submit aman.\n- [ ] Scoring benar.\n- [ ] Domain score benar.\n- [ ] Peta kemampuan muncul.\n- [ ] Dashboard guru berjalan.\n- [ ] Laporan dapat diekspor.\n- [ ] Responsive.\n- [ ] Security dasar diterapkan.\n- [ ] UAT selesai.\n\n---\n\n# 61. Roadmap\n\n## Phase 1 — MVP\n\n1. Authentication.\n2. Role & Permission.\n3. Tahun Ajaran.\n4. Semester.\n5. Kelas.\n6. Guru.\n7. Murid.\n8. Domain.\n9. Materi.\n10. Bank Soal.\n11. Tantangan.\n12. Asesmen.\n13. Scoring.\n14. Peta Kemampuan.\n15. Dashboard.\n16. Laporan.\n\n## Phase 2\n\n- Proyek.\n- Rubrik.\n- Submission.\n- Galeri.\n- Notifikasi.\n- Import Excel.\n- Dashboard Kepala Sekolah lanjutan.\n\n## Phase 3\n\n- AI insight.\n- AI draft soal.\n- Rule-based recommendation.\n- Parent portal.\n- Gamification.\n- PWA.\n- Mobile API.\n- Multi-school.\n\n---\n\n# 62. Sprint Rekomendasi\n\n## Sprint 1\n\n- Setup Laravel.\n- Auth.\n- Role.\n- Layout.\n- Master dasar.\n\n## Sprint 2\n\n- Guru.\n- Murid.\n- Kelas.\n- Import.\n\n## Sprint 3\n\n- Domain.\n- Materi.\n- Bank soal.\n\n## Sprint 4\n\n- Tantangan.\n- Student answer.\n\n## Sprint 5\n\n- Asesmen.\n- Timer.\n- Scoring.\n\n## Sprint 6\n\n- Peta kemampuan.\n- Dashboard.\n\n## Sprint 7\n\n- Laporan.\n- PDF.\n- Excel.\n\n## Sprint 8\n\n- Proyek.\n- Galeri.\n\n## Sprint 9\n\n- QA.\n- Security hardening.\n- UAT.\n- Production release.\n\n---\n\n# 63. AI Insight — Future\n\nAI dapat membantu guru dengan:\n\n- merangkum performa,\n- mendeteksi pola,\n- menyusun rekomendasi,\n- membuat draft soal.\n\nContoh:\n\n> Ahmad menunjukkan perkembangan baik pada Bilangan, tetapi nilai Data berada di bawah rata-rata selama tiga aktivitas terakhir.\n\nRekomendasi:\n\n> Berikan latihan membaca tabel dan diagram sederhana sebelum interpretasi data yang lebih kompleks.\n\nAI tidak boleh:\n\n- mengubah nilai otomatis,\n- membuat keputusan final,\n- publish soal tanpa review,\n- memberi diagnosis klinis kepada murid.\n\n---\n\n# 64. Rule-Based Recommendation\n\nSebelum menggunakan AI, sistem dapat menggunakan aturan sederhana.\n\nContoh:\n\n```text\nJika Data < 60\n→ latihan tabel sederhana\n\nJika Geometri < 60\n→ latihan bentuk dan luas\n\nJika Penalaran < 60\n→ latihan soal bertahap dengan alasan\n```\n\nIni lebih mudah divalidasi guru.\n\n---\n\n# 65. Multi-School Future\n\nJika suatu saat digunakan sekolah lain:\n\nTambahkan:\n\n```text\nschools\nschool_users\nsubscriptions\n```\n\nTabel utama diberi:\n\n```text\nschool_id\n```\n\nSemua query wajib ter-scope berdasarkan sekolah.\n\nUntuk MVP SDN 002 Batu Ampar, multi-tenant belum diperlukan.\n\n---\n\n# 66. Server Awal\n\nUntuk satu sekolah, contoh awal:\n\n```text\n2 vCPU\n4 GB RAM\n40–80 GB NVMe/SSD\n```\n\nUkuran final tergantung:\n\n- jumlah murid,\n- foto,\n- backup,\n- traffic,\n- file proyek.\n\nLaravel monolith + MySQL sudah memadai untuk satu sekolah dan data ribuan murid apabila query dirancang baik.\n\n---\n\n# 67. Hal yang Tidak Perlu di Awal\n\nTidak perlu langsung menggunakan:\n\n- Kubernetes.\n- Microservices.\n- Kafka.\n- Elasticsearch.\n- Banyak database.\n- Arsitektur kompleks.\n\nFokus pada:\n\n- stabil,\n- mudah,\n- aman,\n- benar.\n\n---\n\n# 68. Definition of Done\n\nSatu fitur selesai jika:\n\n- requirement terpenuhi,\n- validasi ada,\n- permission benar,\n- responsive,\n- error state ada,\n- test sesuai kebutuhan,\n- QA selesai,\n- tidak ada critical bug.\n\n---\n\n# 69. Prioritas Bug\n\n## Critical\n\n- sistem down,\n- data hilang,\n- security breach,\n- nilai salah massal.\n\n## High\n\n- modul utama gagal,\n- submit asesmen gagal,\n- report salah.\n\n## Medium\n\n- filter salah,\n- workflow terganggu sebagian.\n\n## Low\n\n- typo,\n- cosmetic.\n\n---\n\n# 70. QA Checklist\n\n## Login\n\n- [ ] Login valid.\n- [ ] Password salah.\n- [ ] User inactive.\n- [ ] Logout.\n- [ ] Session expired.\n- [ ] Forgot password.\n- [ ] Rate limit.\n\n## Bank Soal\n\n- [ ] Create.\n- [ ] Edit.\n- [ ] Archive.\n- [ ] Filter.\n- [ ] Search.\n- [ ] Pagination.\n- [ ] Upload image.\n- [ ] Jawaban benar.\n- [ ] Import.\n- [ ] Export.\n\n## Tantangan\n\n- [ ] Draft.\n- [ ] Schedule.\n- [ ] Publish.\n- [ ] Close.\n- [ ] Student access.\n- [ ] Answer.\n- [ ] Reasoning.\n- [ ] Submit.\n- [ ] Feedback.\n\n## Asesmen\n\n- [ ] Start.\n- [ ] Timer.\n- [ ] Refresh.\n- [ ] Autosave.\n- [ ] Navigation.\n- [ ] Submit.\n- [ ] Auto-submit.\n- [ ] Scoring.\n- [ ] Essay review.\n- [ ] Domain score.\n\n## Report\n\n- [ ] Student.\n- [ ] Class.\n- [ ] School.\n- [ ] Filter.\n- [ ] PDF.\n- [ ] Excel.\n- [ ] Historical semester.\n\n---\n\n# 71. Developer Handover\n\nDeveloper menerima:\n\n- [ ] Dokumen spesifikasi ini.\n- [ ] HTML prototype.\n- [ ] Logo/brand.\n- [ ] Wireframe.\n- [ ] Database design.\n- [ ] Role matrix.\n- [ ] Acceptance criteria.\n- [ ] Test scenario.\n- [ ] Sample data.\n\nDeliverable developer:\n\n- [ ] Source code.\n- [ ] Migration.\n- [ ] Seeder.\n- [ ] `.env.example`.\n- [ ] README.\n- [ ] Installation guide.\n- [ ] Deployment guide.\n- [ ] Backup/restore guide.\n- [ ] Test result.\n- [ ] UAT result.\n\n---\n\n# 72. Struktur View Laravel\n\n```text\nresources/views/\n├── layouts/\n│ ├── app.blade.php\n│ ├── guest.blade.php\n│ └── student.blade.php\n├── dashboard/\n├── students/\n├── questions/\n├── challenges/\n├── assessments/\n├── projects/\n├── galleries/\n├── reports/\n└── settings/\n```\n\n---\n\n# 73. Livewire Components\n\n```text\nDashboardTeacher\nDashboardPrincipal\nStudentTable\nStudentProfile\nQuestionTable\nQuestionForm\nChallengeForm\nChallengePlayer\nChallengeResults\nAssessmentBuilder\nAssessmentPlayer\nAssessmentResults\nCompetencyMap\nProjectForm\nProjectSubmission\nGalleryGrid\nReportStudent\nReportClass\n```\n\n---\n\n# 74. Routes\n\nContoh:\n\n```php\nRoute::middleware([\'auth\'])->group(function () {\n Route::get(\'/dashboard\', ...);\n\n Route::resource(\'students\', StudentController::class);\n Route::resource(\'questions\', QuestionController::class);\n Route::resource(\'challenges\', ChallengeController::class);\n Route::resource(\'assessments\', AssessmentController::class);\n Route::resource(\'projects\', ProjectController::class);\n});\n```\n\nTambahkan permission/policy pada masing-masing modul.\n\n---\n\n# 75. Seed Data Development\n\n```text\n1 Administrator\n1 Kepala Sekolah\n2 Guru\n2 Kelas\n20 Murid\n5 Domain\n50 Soal\n5 Tantangan\n1 Asesmen\n```\n\nDemo account hanya digunakan di staging, bukan production.\n\n---\n\n# 76. Git\n\nUntuk tim kecil:\n\n```text\nmain\nfeature/*\nfix/*\n```\n\nAtau:\n\n```text\nmain\ndevelop\nfeature/*\nfix/*\n```\n\nJangan commit:\n\n- `.env`,\n- password,\n- API key,\n- file rahasia.\n\n---\n\n# 77. CI/CD\n\nFlow yang dapat digunakan:\n\n```text\nPush\n↓\nLint\n↓\nTest\n↓\nBuild\n↓\nDeploy Staging\n↓\nUAT\n↓\nApproval\n↓\nProduction\n```\n\n---\n\n# 78. Production Checklist\n\n- [ ] APP_DEBUG=false.\n- [ ] HTTPS aktif.\n- [ ] DB backup.\n- [ ] Storage permission benar.\n- [ ] Queue aktif.\n- [ ] Scheduler aktif.\n- [ ] Cache production.\n- [ ] Tidak ada akun dummy.\n- [ ] Permission diuji.\n- [ ] UAT selesai.\n- [ ] Backup restore pernah diuji.\n- [ ] Error log bersih dari critical error.\n\n---\n\n# 79. Pertanyaan yang Perlu Dipastikan Sebelum Coding Final\n\n1. Sistem hanya untuk kelas tertentu atau semua kelas?\n2. Apakah satu guru bisa menangani beberapa kelas?\n3. Apakah murid login sendiri?\n4. Apakah semua asesmen menggunakan timer?\n5. Apakah nilai langsung terlihat murid?\n6. Apakah proyek individu, kelompok, atau keduanya?\n7. Apakah galeri dapat dilihat publik?\n8. Apakah orang tua perlu akun?\n9. Apakah sekolah membutuhkan approval kepala sekolah sebelum publish program?\n10. Apakah aplikasi hanya satu sekolah atau dipersiapkan menjadi produk untuk sekolah lain?\n\n---\n\n# 80. Asumsi MVP Jika Belum Diputuskan\n\n- Satu sekolah.\n- Banyak kelas.\n- Guru dapat menangani satu atau lebih kelas.\n- Murid login sendiri.\n- Timer asesmen optional.\n- Nilai dapat disembunyikan.\n- Proyek individu pada MVP.\n- Parent portal belum ada.\n- Galeri dapat diatur publish/private.\n- Kepala sekolah monitoring, bukan approval transaksi.\n\n---\n\n# 81. Prompt Master untuk Codex / AI Programmer\n\n```text\nAnda adalah Senior Laravel Developer.\n\nBangun web application bernama TUAH NUMERASI untuk SDN 002 Batu Ampar.\n\nSTACK:\n- Laravel 12\n- PHP 8.3+\n- MySQL\n- Blade\n- Livewire\n- Tailwind CSS\n- Alpine.js\n- Spatie Laravel Permission\n- Maatwebsite Excel\n- DomPDF\n\nTUJUAN:\nTUAH NUMERASI adalah platform pembelajaran, asesmen, monitoring, dan pelaporan numerasi.\n\nROLE:\n1. Administrator\n2. Kepala Sekolah\n3. Guru\n4. Murid\n\nDOMAIN:\n1. Bilangan\n2. Geometri\n3. Pengukuran\n4. Data\n5. Penalaran\n\nMODUL:\n- Authentication\n- User Management\n- Tahun Ajaran\n- Semester\n- Kelas\n- Guru\n- Murid\n- Bank Soal\n- Tantangan Harian\n- Asesmen Awal/Tengah/Akhir\n- Peta Kemampuan\n- Dashboard\n- Proyek Numerasi\n- Galeri\n- Laporan PDF/Excel\n- Audit Log\n- Settings\n\nRULES:\n- Authorization di backend.\n- Gunakan Policy dan Permission.\n- Form Request untuk validation.\n- Service layer untuk scoring.\n- Database transaction untuk submit penting.\n- Hindari N+1.\n- Pagination.\n- Soft delete untuk data yang perlu histori.\n- Password hash.\n- CSRF.\n- Rate limiting.\n- Secure upload.\n- Responsive UI.\n- Jangan gunakan microservices.\n- Jangan hard-code KPI.\n- Jangan mengubah histori asesmen ketika bank soal diedit.\n\nWORKFLOW:\nLogin\n→ Asesmen Awal\n→ Pemetaan Kemampuan\n→ Tantangan Harian\n→ Proyek\n→ Monitoring Guru\n→ Asesmen Tengah\n→ Penguatan\n→ Asesmen Akhir\n→ Laporan\n\nKERJAKAN BERTAHAP.\n\nTAHAP 1:\n1. Setup Laravel.\n2. Authentication.\n3. Role & Permission.\n4. Academic Year.\n5. Semester.\n6. Classes.\n7. Teachers.\n8. Students.\n9. Numeracy Domains.\n\nSETELAH SELESAI TAHAP 1:\n- tampilkan file yang dibuat\n- migration\n- model\n- route\n- policy\n- permission\n- test\n- cara menjalankan\n- risiko/hal yang belum selesai\n\nJangan lanjut modul berikutnya sebelum tahap pertama stabil.\n```\n\n---\n\n# 82. Prompt Bank Soal\n\n```text\nLanjutkan project TUAH NUMERASI.\n\nBangun modul Bank Soal.\n\nField:\n- code\n- grade\n- domain\n- material\n- level\n- question_type\n- context\n- question_text\n- image\n- explanation\n- weight\n- status\n\nMultiple choice:\n- options\n- correct answer\n\nFitur:\n- CRUD\n- filter\n- search\n- pagination\n- duplicate\n- preview\n- soft delete\n- permission\n- import Excel ready\n- feature tests\n\nValidasi:\n- question wajib\n- domain wajib\n- minimal 2 pilihan untuk multiple choice\n- harus ada jawaban benar\n- weight > 0\n\nGunakan secure file upload.\n```\n\n---\n\n# 83. Prompt Tantangan\n\n```text\nBangun modul Tantangan Numerasi Harian.\n\nGuru:\n- create\n- select class\n- schedule\n- select questions\n- preview\n- publish\n- close\n- results\n\nMurid:\n- hanya melihat challenge kelasnya\n- answer\n- reasoning\n- submit\n- feedback sesuai konfigurasi\n\nSimpan:\n- answer\n- reasoning\n- correct/incorrect\n- score\n- start time\n- submitted time\n- duration\n\nCegah:\n- akses kelas lain\n- double submit\n- submit setelah close jika tidak diizinkan\n```\n\n---\n\n# 84. Prompt Asesmen\n\n```text\nBangun modul Asesmen Diagnostik.\n\nTYPE:\nINITIAL\nMID\nFINAL\n\nFitur:\n- builder\n- class\n- question selection\n- duration\n- schedule\n- shuffle\n- publish\n- start\n- autosave\n- timer\n- submit\n- auto-submit\n- scoring\n- essay grading\n- domain score\n- comparison\n- result\n\nStatus:\ndraft\nscheduled\nactive\nclosed\nreview\ncompleted\n\nGunakan question snapshot ketika assessment dipublish.\nCegah double submit.\nTimer wajib server-side.\n```\n\n---\n\n# 85. Prompt Dashboard\n\n```text\nBangun Dashboard Guru.\n\nKPI:\n- jumlah murid\n- tantangan selesai\n- rata-rata numerasi\n- persentase murid berkembang\n- proyek selesai\n\nCharts:\n- perkembangan kelas\n- nilai per domain\n\nWidgets:\n- Tantangan Hari Ini\n- Murid Membutuhkan Perhatian\n\nSemua data berasal dari database.\nJangan hard-code angka.\nOptimalkan query.\n```\n\n---\n\n# 86. Prompt Security Review\n\n```text\nReview keamanan TUAH NUMERASI.\n\nPeriksa:\n- authentication\n- authorization\n- IDOR\n- CSRF\n- XSS\n- SQL injection\n- mass assignment\n- file upload\n- session\n- rate limiting\n- password\n- logs\n- teacher accessing another class\n- student accessing another student\n- assessment double submit\n\nHasilkan:\n1. Temuan terverifikasi\n2. Risiko potensial\n3. File/endpoint terkait\n4. Dampak\n5. Prioritas\n6. Perbaikan\n7. Cara verifikasi ulang\n\nJangan menyatakan vulnerability sebagai temuan jika belum diverifikasi.\n```\n\n---\n\n# 87. Prompt QA\n\n```text\nBertindak sebagai QA Engineer untuk TUAH NUMERASI.\n\nBuat test case:\n- Login\n- User\n- Student\n- Class\n- Question Bank\n- Daily Challenge\n- Assessment\n- Scoring\n- Competency Map\n- Project\n- Gallery\n- Reports\n- Permission\n- Security\n\nFormat:\nID\nModule\nScenario\nPrecondition\nSteps\nExpected Result\nPriority\nStatus\n```\n\n---\n\n# 88. Rekomendasi Implementasi\n\nUrutan paling aman:\n\n```text\n1. UI Layout\n2. Authentication\n3. Role & Permission\n4. Master Data\n5. Murid & Kelas\n6. Bank Soal\n7. Tantangan\n8. Asesmen\n9. Scoring\n10. Peta Kemampuan\n11. Dashboard\n12. Report\n13. Project\n14. Gallery\n15. AI\n```\n\nJangan mulai dari AI.\n\nData dan workflow utama harus stabil terlebih dahulu.\n\n---\n\n# 89. Kesimpulan\n\nTUAH NUMERASI sebaiknya dikembangkan sebagai **platform pembelajaran numerasi berbasis data**, bukan hanya website pengerjaan soal.\n\nArsitektur yang direkomendasikan untuk tahap awal:\n\n```text\nLaravel Monolith\n │\n ├── Blade / Livewire\n │\n ├── MySQL\n │\n ├── File Storage\n │\n └── Queue/Scheduler\n```\n\nPrioritas utama:\n\n1. Workflow mudah.\n2. Hak akses aman.\n3. Data nilai akurat.\n4. Peta kemampuan bermanfaat.\n5. Dashboard tidak sekadar dekorasi.\n6. Laporan mengurangi pekerjaan manual.\n7. Struktur tetap mudah dikembangkan ke fitur AI atau multi-school di masa depan.\n\n---\n\n## END OF DOCUMENT\n\n**TUAH NUMERASI — SDN 002 Batu Ampar** \n**Tumbuh Unggul melalui Aktivitas Harian Numerasi** \n**Berhitung, Bernalar, Memecahkan Masalah!**', 'file', NULL, 'workshop_files/jTTXCcxUeEPUf2Amwi9hKKKCKnAv2qN9fxuXjaH8.txt', 'TUAH-NUMERASI-SPECIFICATION-LENGKAP.md', '43088', '2026-09-24 09:52:12', '2026-09-24 09:52:12', NULL); DROP TABLE IF EXISTS `workshop_projects`; CREATE TABLE `workshop_projects` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `description` text DEFAULT NULL, `color` varchar(255) NOT NULL DEFAULT 'blue', `project_date` date DEFAULT NULL, `website_url` varchar(255) DEFAULT NULL, `local_folder_path` varchar(255) DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; INSERT INTO `workshop_projects` (`id`, `name`, `description`, `color`, `project_date`, `website_url`, `local_folder_path`, `created_at`, `updated_at`, `deleted_at`) VALUES ('10', '[Trinity] Project Garmin Software', NULL, 'emerald', '2026-04-21', 'https://system.kepriwebsite.com/project/edit/13', NULL, '2026-08-23 03:28:44', '2026-08-31 15:05:01', NULL); INSERT INTO `workshop_projects` (`id`, `name`, `description`, `color`, `project_date`, `website_url`, `local_folder_path`, `created_at`, `updated_at`, `deleted_at`) VALUES ('11', 'Project Garmin Software Trinity', NULL, 'emerald', NULL, NULL, NULL, '2026-08-23 04:39:45', '2026-08-23 04:45:32', '2026-08-23 04:45:32'); INSERT INTO `workshop_projects` (`id`, `name`, `description`, `color`, `project_date`, `website_url`, `local_folder_path`, `created_at`, `updated_at`, `deleted_at`) VALUES ('12', 'Project Garmin Software Trinity', NULL, 'emerald', NULL, NULL, NULL, '2026-08-23 04:48:10', '2026-08-23 04:48:19', '2026-08-23 04:48:19'); INSERT INTO `workshop_projects` (`id`, `name`, `description`, `color`, `project_date`, `website_url`, `local_folder_path`, `created_at`, `updated_at`, `deleted_at`) VALUES ('13', '[WEB K3] Project Pembuatan Landing Page K3 Pak Hokler', NULL, 'emerald', '2026-07-19', 'https://system.kepriwebsite.com/project/edit/21', NULL, '2026-08-23 05:22:31', '2026-08-31 15:05:33', NULL); INSERT INTO `workshop_projects` (`id`, `name`, `description`, `color`, `project_date`, `website_url`, `local_folder_path`, `created_at`, `updated_at`, `deleted_at`) VALUES ('14', 'Pengembangan Produk KepriWebsite', 'Perkerjaan Diluar Proyek', 'emerald', '2026-07-01', 'https://system.kepriwebsite.com/project/edit/19', NULL, '2026-08-28 20:36:53', '2026-08-28 20:41:30', NULL); INSERT INTO `workshop_projects` (`id`, `name`, `description`, `color`, `project_date`, `website_url`, `local_folder_path`, `created_at`, `updated_at`, `deleted_at`) VALUES ('15', 'WEB BAK', 'Pembuatan Website Company Profile', 'emerald', '2026-08-31', 'https://system.kepriwebsite.com/project/edit/26', 'C:\\xampp\\htdocs\\3-Kepri-Website\\0903-WebBAK', '2026-08-31 14:35:25', '2026-09-30 12:32:40', NULL); INSERT INTO `workshop_projects` (`id`, `name`, `description`, `color`, `project_date`, `website_url`, `local_folder_path`, `created_at`, `updated_at`, `deleted_at`) VALUES ('16', 'WEB STS', NULL, 'emerald', '2026-08-31', 'https://system.kepriwebsite.com/project/edit/27', NULL, '2026-08-31 14:36:25', '2026-09-30 12:32:54', NULL); INSERT INTO `workshop_projects` (`id`, `name`, `description`, `color`, `project_date`, `website_url`, `local_folder_path`, `created_at`, `updated_at`, `deleted_at`) VALUES ('17', 'Project BAK ERP', NULL, 'emerald', '2026-09-01', 'https://system.kepriwebsite.com/project/edit/28', NULL, '2026-08-31 15:02:57', '2026-10-06 08:54:50', NULL); INSERT INTO `workshop_projects` (`id`, `name`, `description`, `color`, `project_date`, `website_url`, `local_folder_path`, `created_at`, `updated_at`, `deleted_at`) VALUES ('18', 'Project STS ERP', NULL, 'emerald', '2026-08-31', 'https://system.kepriwebsite.com/project/edit/29', NULL, '2026-08-31 15:03:28', '2026-10-02 16:24:59', NULL); INSERT INTO `workshop_projects` (`id`, `name`, `description`, `color`, `project_date`, `website_url`, `local_folder_path`, `created_at`, `updated_at`, `deleted_at`) VALUES ('19', 'Apps TUAH Numerasi lengkap', NULL, 'emerald', '2026-09-24', 'https://system.kepriwebsite.com/project/edit/30', NULL, '2026-09-24 06:58:52', '2026-09-25 14:59:52', NULL); INSERT INTO `workshop_projects` (`id`, `name`, `description`, `color`, `project_date`, `website_url`, `local_folder_path`, `created_at`, `updated_at`, `deleted_at`) VALUES ('20', 'Project Elamora Travel', NULL, 'emerald', '2026-10-04', 'https://system.kepriwebsite.com/project/edit/31', NULL, '2026-10-04 14:06:02', '2026-10-04 14:06:02', NULL); INSERT INTO `workshop_projects` (`id`, `name`, `description`, `color`, `project_date`, `website_url`, `local_folder_path`, `created_at`, `updated_at`, `deleted_at`) VALUES ('21', 'Project KWM POS', NULL, 'emerald', '2026-10-05', 'https://system.kepriwebsite.com/project/edit/33', NULL, '2026-10-05 03:17:09', '2026-10-05 05:14:04', NULL); DROP TABLE IF EXISTS `workshop_webhooks`; CREATE TABLE `workshop_webhooks` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `url` text NOT NULL, `event` varchar(255) NOT NULL DEFAULT 'work_completed', `secret` varchar(255) DEFAULT NULL, `is_active` tinyint(1) NOT NULL DEFAULT 1, `last_status` int(11) DEFAULT NULL, `last_response` text DEFAULT NULL, `last_triggered_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; DROP TABLE IF EXISTS `workshop_work_images`; CREATE TABLE `workshop_work_images` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `workshop_work_id` bigint(20) unsigned NOT NULL, `image_path` varchar(255) NOT NULL, `caption` text DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `workshop_work_images_workshop_work_id_foreign` (`workshop_work_id`), CONSTRAINT `workshop_work_images_workshop_work_id_foreign` FOREIGN KEY (`workshop_work_id`) REFERENCES `workshop_works` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=113 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('13', '14', 'workshop_works/TpWI1aX5UWQeZaEpUY8qEat8Wc13u6EqcTfV61IJ.png', 'Attachment for Penambahan Alur Produksi', '2026-08-23 03:31:09', '2026-08-23 03:31:09', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('14', '15', 'workshop_works/rHk0uosvUC6V8UWYhlRfEwY4MhlDlPkpmsQIrJK4.png', 'Attachment for Pembuatan nota ini bisa gak jgn input satu-satu', '2026-08-23 03:33:43', '2026-08-23 03:33:43', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('15', '18', 'workshop_works/KvzzdBb7f2wqICOHmNVG9I7thCxnBwRcX1lGjEic.png', 'Attachment for Penyesuaian Website sebagaimana terlampir filenya', '2026-08-23 05:24:29', '2026-08-23 05:24:29', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('16', '19', 'workshop_works/oYP2fn3fPeqSoGGIu2zt49U3L8u9HkeBdqAeJWAM.png', 'Attachment for Settingan Top bar sudah dikosongkan tapi tetap muncul', '2026-08-23 05:27:14', '2026-08-23 05:27:14', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('17', '20', 'workshop_works/Vrp6os8asHoVzBOxhfY0EBPW7IcaYQLDb3aBxcae.png', 'Attachment for Youtube tidak nampil pada landing page', '2026-08-23 05:27:21', '2026-08-23 05:27:21', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('18', '21', 'workshop_works/i3C0qi7JNrsWs7mHNggEcWi3tr0KqhyQVC6soNGy.png', 'Attachment for Jarak terlalu jauh dan penomoran kena garis', '2026-08-23 05:28:35', '2026-08-23 05:28:35', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('19', '22', 'workshop_works/IalEtK0pucGOnvJZE15hvWXlsM4geIPGKVpYxKcW.png', 'Attachment for Banyak ruang kosong, ini karena ngak diisi datanya', '2026-08-23 05:29:26', '2026-08-23 05:29:26', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('20', '23', 'workshop_works/0GFeHmwjHcFOCP1MA3AyAphmA31zpkyT7WLkKTDH.png', 'Attachment for Pembuatan Halaman Khusus Setelah login, sehingga tidak diarahkan ke Dashboard.', '2026-08-27 00:18:36', '2026-08-27 00:18:36', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('21', '24', 'workshop_works/lPLFiQq7btE49c6V0uGQmq4nAoU8Wq7zCTOTP8u0.png', 'Attachment for Penyesuaian Role Management, Designer seharusnya tidak bisa edit dan buat WO,', '2026-08-27 00:19:54', '2026-08-27 00:19:54', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('22', '25', 'workshop_works/vrT9Go00UkqrJ2xobWRLyDjXqHAl5MzVs69hOnEe.png', 'Attachment for Penyesuaian Bill/PO Nomor bisa diisi manual', '2026-08-27 00:20:54', '2026-08-27 00:20:54', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('23', '26', 'workshop_works/HiGSbYSCdINNpw7CJ9KGwX9axyZWumKKrlEvdKKW.png', 'Attachment for Dashboard tidak bisa di atur pada role akses', '2026-08-27 00:21:49', '2026-08-27 00:21:49', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('24', '27', 'workshop_works/MvqqyQZB7imZknGVfqvThYM2RsMGLmtsXJN4XYl1.png', 'Attachment for Print dokumen WO untuk total nya muncul dua karena terpisah halaman', '2026-08-27 00:23:00', '2026-08-27 00:23:00', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('25', '28', 'workshop_works/3r1SGhmImkeLiZ6u9macpT2rlq2fxKq5K6nBoMKC.png', 'Attachment for Pembuatan Web Repair Seperti Web https://repair.sg/', '2026-08-28 20:42:53', '2026-08-28 20:42:53', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('26', '29', 'workshop_works/AJx2gOL6FxQO9O2P5bmBMiOvecvlqQftmYFY2Oo0.png', 'Attachment for [Berkah-Aneka-Karya] - Pemindahan Website dari Repo BAK ke Folder Portofolio Kepriwebsite untuk keperluan DEMO', '2026-08-28 20:49:58', '2026-08-28 20:49:58', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('27', '30', 'workshop_works/06dVa9qDLAQntsNGV6hH8MYLMp6WjZsj4VdgGUlt.png', 'Attachment for [Distributor-ERP] - Pemindahan Repo https://gitlab.com/Allsha/distributor-erp.git ke Folder FTP Portoflio', '2026-08-28 20:54:14', '2026-08-28 20:54:14', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('28', '31', 'workshop_works/3xE2aYoCrMRIMHFqM0W0UiaDfUwrR2VdRp9b5DZ8.png', 'Attachment for [Upkeep.sg] - Pemindahan Repo UpKeep SG ke Folder Portofolio KepriWebsite', '2026-08-28 20:56:59', '2026-08-28 20:56:59', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('29', '32', 'workshop_works/MFqBUQsbo4Jzaf8eEdg0AjmlbMtoJvGSJFtfL0NX.png', 'Attachment for [General Supplier] - Pembuatan Website General Supplier', '2026-08-28 21:10:59', '2026-08-28 21:10:59', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('30', '33', 'workshop_works/5g74qyP23wKYqPzNcDgR26xa74VxRaZBexcmGzuB.png', 'Attachment for [Berkah Aneka Karya] - Munculkan beberapa kategori dan produk pada Halaman Home', '2026-08-31 00:46:16', '2026-08-31 00:46:16', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('31', '34', 'workshop_works/l8EqGmSEDeRAPsC7Yj9CHqzbrWTLMjyjW8SX4w1H.png', 'Attachment for [Berkah Aneka Karya] - Memunculkan Informasi Sample FAQ pada Halaman Home', '2026-08-31 00:47:26', '2026-08-31 00:47:26', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('32', '35', 'workshop_works/D6h8q1s1IX7gqRc8aywhF7oEejSA4k1DFIqatcXU.png', 'Attachment for [Berkah Aneka Karya] - Buatkan beberapa produk sample agar bisa kelihatan informasi pada web', '2026-08-31 00:48:43', '2026-08-31 00:48:43', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('33', '36', 'workshop_works/AbTu9xIBqtdfdpzCyxkaYVM2BXFPcjCN6rTwzHUG.png', 'Attachment for [Up Keep SG] - Sesuaikan foto pada website agar tidak muncul repair.sg', '2026-08-31 00:52:02', '2026-08-31 00:52:02', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('34', '37', 'workshop_works/KI6egQv2fplt8W6zjkhu6X21gRU2DPWhaw4Jpnhc.png', 'Attachment for [WaterProfingBatam] - Buatkan Website untuk Jasa WaterProfing Batam', '2026-08-31 00:55:43', '2026-08-31 00:55:43', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('35', '38', 'workshop_works/acfYICJijgcnFBPuM2fg75eSChuKh8r0aJoBPebp.png', 'Attachment for Ganti webinar live jadi jadwal, sama dengan lokasi', '2026-08-31 02:10:06', '2026-08-31 02:10:06', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('36', '39', 'workshop_works/wvDSbQuXXTJvZHWkdH9hSScp4pU78iA9AA2Tv3W7.png', 'Attachment for Penyesuaian Halaman Agar jika tidak diisi Informasi maka cardnya dihilangkan saja', '2026-08-31 02:10:56', '2026-08-31 02:10:56', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('37', '40', 'workshop_works/fFcvJR4FS0MwKr7PI1H7J8lJTI0BfIeJ6s04qQpK.png', 'Attachment for Penyesuaian html dasar pada web, karena masih ada muncul
pada beberapa section.', '2026-08-31 02:11:47', '2026-08-31 02:11:47', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('38', '41', 'workshop_works/M4deaf5l93jMptPRB6AEGpdq1IYAfnYFUAS2RfEN.png', 'Attachment for Clone Repositori KWM-ERP pada GITLAB dengan Branc BAK-ERP', '2026-08-31 15:16:51', '2026-08-31 15:16:51', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('39', '44', 'workshop_works/oPgasTHJWd2fZnuhffl5WpaTz0UvwOT6Osqui2Yw.png', 'Attachment for 3. Modul Purchase Order ERP', '2026-09-01 14:09:35', '2026-09-01 14:09:35', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('40', '46', 'workshop_works/1BU13zeIN4D5G9DUtLtbUkaSRiTYHA5RW3jY6sWG.png', 'Attachment for 5. Delivery Order / Surat Jalan', '2026-09-01 15:35:15', '2026-09-01 15:35:15', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('41', '48', 'workshop_works/k5dxyXczBSh5sOqRZswiU3MsNlpXUp4hDcsUymCU.png', 'Attachment for Penyesuaian Bagian Modul Design Order', '2026-09-02 12:54:54', '2026-09-02 12:54:54', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('42', '49', 'workshop_works/WQhhCnZwr5UGqzHFpw0MRIW2f8J8pgDWagMkKeso.png', 'Attachment for Install Laravel untuk Website PT STS sesuai Template yg ada di GIT', '2026-09-02 13:59:17', '2026-09-02 13:59:17', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('43', '50', 'workshop_works/OlWWL6qGD8EPMO36J82j3g4kDo1NpuQO41FUNToJ.png', 'Attachment for Penambahan DTF agar bisa menjadi 2 Proses yaitu Print DFT dan Press DTF', '2026-09-02 14:49:36', '2026-09-02 14:49:36', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('44', '51', 'workshop_works/BAE7uSeIiejUlEhp85xmItknGmow4OrD3ssga9ql.png', 'Attachment for Install Laravel Dari GIT Repo PT BAK, Template menyesuaikan dari yang sudah ada', '2026-09-02 15:26:12', '2026-09-02 15:26:12', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('45', '52', 'workshop_works/cH9MVSAsSqzAJGiHW6DRHwm5tODE42ZchaUhr72B.png', 'Attachment for Penyesuaian Halaman Home BAK', '2026-09-04 14:51:13', '2026-09-04 14:51:13', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('46', '53', 'workshop_works/BEopW9qqqTyG9tmxhBbFruG4Xz521VfqVP83NilW.png', 'Attachment for Perbaikan Positioning & Konten Website PT Berkah Aneka Karya', '2026-09-06 14:01:28', '2026-09-06 14:01:28', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('47', '54', 'workshop_works/YnHpKGyAf06vKWBQ2L42ezbce7qmSL2R0sB6gBYw.png', 'Attachment for Enhancement Web BAK agar lebih minimalis tapi profesional', '2026-09-08 02:13:28', '2026-09-08 02:13:28', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('48', '55', 'workshop_works/fI31uyux9fEyUjOSgkQnDZZ1QrA4y2wtZPbSU6eX.png', 'Attachment for Foto Utama Web diganti menjadi Foto Kantor', '2026-09-08 05:35:46', '2026-09-08 05:35:46', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('49', '56', 'workshop_works/6utSSR0jckwV18iRjclIZnPpb72xWpqWmttKtrba.png', 'Attachment for Hilangkan Link ke Panel Admin untuk Resiko Keamanan', '2026-09-08 05:36:45', '2026-09-08 05:36:45', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('50', '60', 'workshop_works/gSymfwJIGcLnTIhLXkB4l0JNskbN0i2Ny8AQDnrX.png', 'Attachment for Foto orangnya dihilangkan saja termasuk nama pimpinannya', '2026-09-12 00:54:12', '2026-09-12 00:54:12', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('51', '61', 'workshop_works/JiQO7Ev1t9yv9QjvsXBu3n6j2nwUOZkyMpRIU5vH.png', 'Attachment for Ubah email menjadi pt.sts@sayangterbuangsolusi.co.id', '2026-09-12 00:56:25', '2026-09-12 00:56:25', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('52', '62', 'workshop_works/0qeYXTSiuFx6LJOuq5ptqiuNkfjw5u8w1oy4ZCzm.png', 'Attachment for Ubah Chat Box bisa lebih dari 1 whatsapp', '2026-09-12 00:57:22', '2026-09-12 00:57:22', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('53', '63', 'workshop_works/ehVQNQIYceM02pNvscz8H6WwvpP8QMbWT0xlAG7L.png', 'Attachment for Tidak bisa menambah produk baru pada https://app-bak.com/produk', '2026-09-12 01:11:50', '2026-09-12 01:11:50', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('54', '64', 'workshop_works/qWMCaj8hpqVEGNfuYHfSb4FZ3atMcuI4GXw57Umj.png', 'Attachment for Penyesuaian warna bakground biru ke Maron #993365', '2026-09-12 15:45:11', '2026-09-12 15:45:11', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('55', '67', 'workshop_works/L29yzfjdt7ayfe4xt26sEirD4Du3YtA1knfw3Zzy.png', 'Attachment for Ganti Gambar Kantor Sesuai dengan yang Asli bukan AI', '2026-09-13 16:22:18', '2026-09-13 16:22:18', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('56', '69', 'workshop_works/BRHUBQcueaORptIpgBP3ZXQkVHi1tambGiTduNRc.png', 'Attachment for Ganti Gambar Ruang Cytotoxic pada Web dengan Lampiran', '2026-09-13 16:25:38', '2026-09-13 16:25:38', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('57', '70', 'workshop_works/dwZr7nSgKLdGiBjJfB4YTmEcIjij6W1R9eIa8E3Q.png', 'Attachment for Ganti gambar Linen Rumah Sakit dengan gambar terlampir', '2026-09-13 16:27:51', '2026-09-13 16:27:51', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('58', '71', 'workshop_works/uPZZxnfsd5hHYKHwzTGRb4zSbEOvFPMThk5uz3sR.png', 'Attachment for Tambahkan link E Proc pada web sehingga bisa terhubung saat diklik', '2026-09-14 13:10:19', '2026-09-14 13:10:19', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('59', '72', 'workshop_works/UJNw4T6JB3l2SX4TIbJIswyzG9mJ2GYVnd9c7gal.png', 'Attachment for ubah link whatsapp ini agar bisa link kedua nomor', '2026-09-14 13:28:52', '2026-09-14 13:28:52', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('60', '73', 'workshop_works/82PRbeGjBUIm6AYjBA79Cvc5GUw3aOcismBBowvS.png', 'Attachment for buatkan coming soon pada menu2 berikut karena agar masuk bulan depan saja', '2026-09-14 15:30:14', '2026-09-14 15:30:14', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('61', '74', 'workshop_works/PIsNY5IGn8amUdSLTF1CrQzRBNkUpgSmybQ7zSQX.png', 'Attachment for Hide atau buat coming soon pemetaan COA Pembelian dan Coa Penjualan', '2026-09-14 15:31:29', '2026-09-14 15:31:29', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('62', '75', 'workshop_works/He9DyokQ8LWLv8IhCRmbW0mmVpMTHIargJXdfe8z.png', 'Attachment for Tambah Paging pada Halaman Master Produk', '2026-09-14 15:33:16', '2026-09-14 15:33:16', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('63', '76', 'workshop_works/kdFtYPYvdNnm053yytZc5X7LuaugvwVOmroLUgMU.png', 'Attachment for Hide 7 Pilar Layanan & Portofolio Pengadaan PT STS', '2026-09-14 15:46:42', '2026-09-14 15:46:42', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('64', '77', 'workshop_works/GAXnyoM54qPrhYnPFHoShwMCD6sl1lbG6jZQVIkF.png', 'Attachment for Buat menu berikut Coming Soon', '2026-09-14 15:49:03', '2026-09-14 15:49:03', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('65', '78', 'workshop_works/6FHbgu4IswB77lZ44iFIrxm64s1diPCHmz32ntD4.png', 'Attachment for Hide aja dlu stok tersedia, soalnya harus ada history stok kalau kita implementasikan', '2026-09-14 15:49:39', '2026-09-14 15:49:39', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('66', '79', 'workshop_works/7PwueH6B0QZXdl7ovjImiPC68w1XjbycK4xN3B0M.png', 'Attachment for Master Kategori Fokus ke KAtegori Produk saja dulu', '2026-09-14 15:51:00', '2026-09-14 15:51:00', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('67', '80', 'workshop_works/TrSxCLqJocA06ldEbE0C7VCanBXCsjYprtuPMrv8.png', 'Attachment for dibuat coming soon aja dlu master dokumen', '2026-09-14 15:52:06', '2026-09-14 15:52:06', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('68', '81', 'workshop_works/9iiM9OBfUbaDirs33itORpOLlKI7T9aLQ6duwnTa.png', 'Attachment for Penyuaian Cetakan Format DO, Invoice, PO, Quo sebagaimana file diupload pada media rana', '2026-09-14 16:46:41', '2026-09-14 16:46:41', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('69', '82', 'workshop_works/L3Q2xOeueAV4dkSdmcsFXzA4zF6XMdAGZ2b7wZvU.png', 'Attachment for Perbaikan Modul Sales Order', '2026-09-23 02:49:26', '2026-09-23 02:49:26', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('70', '83', 'workshop_works/oSbCAyYEgKPApB1rRm8aaHhKXtqlowjFfCb1VuPN.png', 'Attachment for Sesuaikan halaman Sales Order', '2026-09-23 02:54:42', '2026-09-23 02:54:42', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('71', '84', 'workshop_works/ZzLQgROTUm1eWYUVdlQzVZfd4d2k8YLYgoGcOYqD.png', 'Attachment for Penyesuaian Menu Purchase Order STS', '2026-09-23 02:55:45', '2026-09-23 02:55:45', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('72', '85', 'workshop_works/q53X5tksickObnjzuq3LrJeICIUpghR63YqZttbf.png', 'Attachment for Penyesuaian Penerimaan & QC Barang', '2026-09-23 03:00:28', '2026-09-23 03:00:28', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('73', '87', 'workshop_works/KDMVtBZQx0bsXoJGBFgOgZF31YhoD5vCKM0Ruje0.png', 'Attachment for Penyesuaian Penagihan & Faktur Invoice', '2026-09-23 03:12:20', '2026-09-23 03:12:20', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('74', '88', 'workshop_works/e85rN3y41H2Nu2sr5LWf8cvEMMpoMWBOq1Kh268F.png', 'Attachment for Hilangkan Selector Akun diatas', '2026-09-23 03:16:18', '2026-09-23 03:16:18', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('75', '89', 'workshop_works/6Epqf3j533UvSXhuPGydVH4RYg8GVe5uttbUPnJ1.jpg', 'Attachment for Pembuatan Demo Web Apps TUAH Numerasi lengkap', '2026-09-24 09:51:22', '2026-09-24 09:51:22', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('76', '90', 'workshop_works/HzPwD9X2bCiAErweTLPXtL40NF4Fnv7UVZ3kfvzt.png', 'Attachment for Hilangkan selector Pilih Peran Pengguna pada Nav Bar', '2026-09-24 21:41:02', '2026-09-24 21:41:02', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('77', '91', 'workshop_works/7btWBHpcXqrFoZfoirIxfGrOtRWTRoyKnE9UpQ4w.png', 'Attachment for Tambahkan Relasi SO di PO', '2026-09-24 21:45:17', '2026-09-24 21:45:17', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('78', '92', 'workshop_works/DJ0uJl4CkQm1eyUbiFWOoL5f4IqGsY6okfCKdX5Y.png', 'Attachment for Penyesuaian Catat Penerimaan Barang Baru', '2026-09-24 21:49:54', '2026-09-24 21:49:54', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('79', '93', 'workshop_works/sFVODVWhMury8UKWlKdOoqX3787pN9s0bgOHrppR.png', 'Attachment for Tombol Delete dihilangkan jika data sudah sesuai', '2026-09-24 21:53:33', '2026-09-24 21:53:33', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('80', '94', 'workshop_works/SyW0jSGkCXiJX9PFnKM7ivDGM8S3zEj6zcgj16Of.png', 'Attachment for Bisa melihat informasi pada data penerimaan barang', '2026-09-24 21:53:40', '2026-09-24 21:53:40', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('81', '95', 'workshop_works/ddzIIqfI1Q44OjWmyCf3xfNcfMkTq1ZgLb5k46pU.png', 'Attachment for Tambah Detil untuk data SO yang akan dikirim pada Delivery Order', '2026-09-24 21:57:08', '2026-09-24 21:57:08', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('82', '96', 'workshop_works/gypRDysfsVIraQWtlzaEORZvyHiGYr6X3Nr8A3aq.png', 'Attachment for Tambahkan History Pembayaran', '2026-09-24 22:00:15', '2026-09-24 22:00:15', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('83', '97', 'workshop_works/J0yfI3pnOOQ8kzunFsFg2SyQdhAbw8ysRoNZBZkj.png', 'Attachment for Penyesuaian halaman Tambah Produk Baru', '2026-09-24 22:13:03', '2026-09-24 22:13:03', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('84', '98', 'workshop_works/IXXMIKzX3l47o9UWyLQzlxFXxWmeSX2igUIPunEE.png', 'Attachment for Penyesuaian Halaman Master data Principal', '2026-09-24 22:19:43', '2026-09-24 22:19:43', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('85', '99', 'workshop_works/vfaK7Ip9oDsvgvTXn5GkPgA51BjqhoOUwlIWhZqL.png', 'Attachment for Hilagkan Modul Cadangan Data & Aset', '2026-09-24 22:21:38', '2026-09-24 22:21:38', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('86', '100', 'workshop_works/p4DsgaYqLiJKE8TFkG6hNFgKZdPlJiAWNcf7lCrV.png', 'Attachment for Hilangkan Pencadangan Basis Data & Berkas Aset Gambar', '2026-09-24 22:22:28', '2026-09-24 22:22:28', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('87', '101', 'workshop_works/qXN2jW6rk8ZMhulxLdWUJ3IicSx4Zs1R3Hp12Pn5.png', 'Attachment for Hidekan Bagan Akun (COA)', '2026-09-24 22:24:25', '2026-09-24 22:24:25', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('88', '102', 'workshop_works/zvo62AJaG3XN1m3i0bxdaZX565v7y8DAaZMLShx8.png', 'Attachment for Tambahkan Field Baru di Katalog Produk', '2026-09-24 22:26:50', '2026-09-24 22:26:50', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('89', '103', 'workshop_works/kIrschLDvEh49HsoSHi9C5hXdKQAiPBvSYVnKDyX.png', 'Attachment for Tambah Field Baru pada Master Customer Baru', '2026-09-24 22:28:14', '2026-09-24 22:28:14', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('90', '105', 'workshop_works/E3h9xlJKkUmU8VQuemQDZMjeRRIc99SaPAY2704F.png', 'Attachment for Enhancement Warna Sidebar dan Dashboard', '2026-09-24 22:32:54', '2026-09-24 22:32:54', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('91', '109', 'workshop_works/bCo5SnsbdLbWX0610nwJDIClsRAIrhIxLgaC7A6B.png', 'Attachment for Kategori Pada Pesanan produk Masih Diketik, kalau bisa dibuatkan Dropdown', '2026-09-25 12:50:57', '2026-09-25 12:50:57', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('92', '110', 'workshop_works/Inxwrg77SnheZ8dxEjouhUDSAlPRbZpjzoRpZbR2.png', 'Attachment for Nilai PO 0 Padahal Sub Totalnya ada nilai', '2026-09-25 12:54:19', '2026-09-25 12:54:19', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('93', '111', 'workshop_works/pt7ekHmvWBflhTEWlvkP9qTbxvKJ5PEZTzXBCq6y.png', 'Attachment for Penyesuaian Cetakan SO, PO, DO, Invoice sesuai Format dari Klien', '2026-09-25 12:59:36', '2026-09-25 12:59:36', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('94', '113', 'workshop_works/sZw07uGhzBeIBJQD3XuQ1kE2UD2PLugedL2CWCvA.png', 'Attachment for Perlu ditambah Input Diskon (Bisa % dan Bisa Rupiah) pada PO dan Invoice', '2026-09-27 14:07:19', '2026-09-27 14:07:19', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('95', '114', 'workshop_works/TIdEuUfG4LN3iW8IEwcAMfSSda45rD1XOS5sDL8a.png', 'Attachment for Master Data Produk Ditambah Expired dan Lot/Batch (wajib)', '2026-09-27 14:28:54', '2026-09-27 14:28:54', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('96', '115', 'workshop_works/Z2I4Cw5uREOBR7ijlbxhjJXTWhX1RFOcfq3QdSpL.png', 'Attachment for Sesuaikan Role Admin (Master Data, SO, Po,dan DO), Sales (buat SO), Finance (bisa semua)', '2026-09-27 14:30:46', '2026-09-27 14:30:46', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('97', '116', 'workshop_works/vesj3Ly2c03PY1togVG3xebaDDCzI95zYzgFmsbV.png', 'Attachment for Sesuaikan Modul Sales Order', '2026-09-27 15:22:26', '2026-09-27 15:22:26', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('98', '117', 'workshop_works/yvSYLZBAOQTvczqAiD8nYp4r48MKHwqMseMebo7b.png', 'Attachment for Penyesuaian Halaman Purchase Order', '2026-09-27 15:26:32', '2026-09-27 15:26:32', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('99', '118', 'workshop_works/rq99lCi1iXvpO3yzopJF1WnMtHDP3b7PXoSgnYof.png', 'Attachment for Penyesuaian Modul Delivery Order', '2026-09-27 15:30:58', '2026-09-27 15:30:58', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('100', '119', 'workshop_works/coDoPKStQDsmZazZI86RCnVocEjeN8unqCRNIaYN.png', 'Attachment for Penyesuaian - Faktur / Invoice', '2026-09-27 15:31:55', '2026-09-27 15:31:55', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('101', '120', 'workshop_works/aWtVQvuQW0t5chtVqBjM1qEvO1CD9Cf2hOAFImXz.png', 'Attachment for Penyesuaian CAP dan Warna Tulisan dengan Yang dishare ke Group', '2026-09-28 20:13:32', '2026-09-28 20:13:32', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('102', '121', 'workshop_works/Fb7JaXp34F5yKLPckereNylQyW8vchcZruob0lmF.png', 'Attachment for Penyesuaian Seluruh Footer emailya diganti pt.sts@sayangterbuangsolusi.co.id', '2026-09-28 20:21:47', '2026-09-28 20:21:47', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('103', '122', 'workshop_works/7YfQWrNcnAJ2YDPj3RqmG3x2a6VmEuBZSQMmBxeY.png', 'Attachment for BUG - Pada saat buka DO ada BUG', '2026-09-28 20:45:34', '2026-09-28 20:45:34', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('104', '123', 'workshop_works/FVwWDP72EfSXDd4X8nWSQq6b6A0Rdb1ZAd7LqGa8.jpg', 'Attachment for Tambahkan Foto Direktur pada Website STS', '2026-09-28 20:50:35', '2026-09-28 20:50:35', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('105', '124', 'workshop_works/jMbYldqsWexbhaj1Py8cGMkBn3l7ysBUgVEnTcMS.png', 'Attachment for Penyesuaian SO, PO, DO, Invoice agar tampilannya bisa sama kayak STS (beda warna aja)', '2026-09-28 20:54:11', '2026-09-28 20:54:11', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('106', '125', 'workshop_works/2OhPXGwg7PUm7A1A7cQFpHEc8pMdzVDywdYkWxwJ.png', 'Attachment for Penyesuaian Peran pada Aplikasi', '2026-09-28 21:00:46', '2026-09-28 21:00:46', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('107', '126', 'workshop_works/Xfrd14aFHnDC3wrBG4qzTUDs1wJLVB0ERG11aIGd.png', 'Attachment for Penyesuaian Modul SO pada BAK', '2026-09-28 21:02:21', '2026-09-28 21:02:21', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('108', '127', 'workshop_works/Sz7A6RygiZQvNqTAjSkxTdRGuDa6OOBP90HqEo3V.png', 'Attachment for Penyesuaian Modul PO pada ERP BAK', '2026-09-28 21:03:17', '2026-09-28 21:03:17', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('109', '128', 'workshop_works/NHLT99so8lWBeXnhBns8HTfUSZjohYJJW9mWCgfn.png', 'Attachment for Web STS hilangkan Makanan dan Minuman', '2026-09-28 21:04:54', '2026-09-28 21:04:54', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('110', '129', 'workshop_works/6uVFUeenle1xaAWTfOriW3hID8vxrMJgU5oCizZC.png', 'Attachment for Website BAK ditambahkan alat penunjang medis dan juga chemical', '2026-09-28 21:06:27', '2026-09-28 21:06:27', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('111', '130', 'workshop_works/OxJfVVjaoGANYWAN9HTL0dpnsohrbtGzxi9TQoaI.png', 'Attachment for Sesuaikan Website Warnanya agar lebih menarik seperti Logo', '2026-09-28 21:07:08', '2026-09-28 21:07:08', NULL); INSERT INTO `workshop_work_images` (`id`, `workshop_work_id`, `image_path`, `caption`, `created_at`, `updated_at`, `deleted_at`) VALUES ('112', '131', 'workshop_works/HBm3pquERInb02MsLuVOzDzutkD3XhEFKVQDuIBh.png', 'Attachment for Tambahkan Warna Sidebar pada ERP BAK sesuai Logo', '2026-09-28 21:07:50', '2026-09-28 21:07:50', NULL); DROP TABLE IF EXISTS `workshop_works`; CREATE TABLE `workshop_works` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `workshop_project_id` bigint(20) unsigned NOT NULL, `task_name` varchar(255) NOT NULL, `status` varchar(255) NOT NULL DEFAULT 'pending', `priority` varchar(255) NOT NULL DEFAULT 'medium', `notes` text DEFAULT NULL, `due_date` date DEFAULT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL, `deleted_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`), KEY `workshop_works_workshop_project_id_foreign` (`workshop_project_id`), CONSTRAINT `workshop_works_workshop_project_id_foreign` FOREIGN KEY (`workshop_project_id`) REFERENCES `workshop_projects` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=153 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('14', '10', 'Penambahan Alur Produksi', 'completed', 'medium', 'di alur produksi boleh di tambahkan DTF', '2026-08-25', '2026-08-23 03:31:09', '2026-08-23 15:25:53', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('15', '10', 'Pembuatan nota ini bisa gak jgn input satu-satu', 'completed', 'medium', 'pembuatan nota ini bisa gak jgn input satu2', '2026-08-25', '2026-08-23 03:33:42', '2026-08-23 15:25:46', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('16', '12', 'Penyesuaian Role Akses', 'pending', 'high', '- Untk rol sales kita test bisa edit wo sedangkan kita cek roel edit wo tidak di centang\r\n- Roel nya chriskarti admin tapi tidak bisa buat wo & tidak akses/menu buat invoice', '2026-08-26', '2026-08-23 05:11:04', '2026-08-23 05:20:49', '2026-08-23 05:20:49'); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('17', '10', 'Penyesuaian Role Akses Trinity', 'completed', 'high', '- Untk rol sales kita test bisa edit wo sedangkan kita cek roel edit wo tidak di centang\r\n- Roel nya chriskarti admin tapi tidak bisa buat wo & tidak akses/menu buat invoice', '2026-08-25', '2026-08-23 05:20:49', '2026-08-23 15:39:23', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('18', '13', 'Penyesuaian Logo pada Landing Page', 'completed', 'medium', 'Posisi Logo berubah, tidak sama dengan training sebelumnya https://kursusbatam.com/roadmap-ahli-k3', '2026-08-25', '2026-08-23 05:24:29', '2026-08-27 06:06:08', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('19', '13', 'Settingan Top bar sudah dikosongkan tapi tetap muncul', 'completed', 'medium', 'Settingan Top bar sudah dikosongkan tapi tetap muncul, mungkin ada teks bawaan di htmlnya', '2026-08-25', '2026-08-23 05:27:13', '2026-08-27 06:06:07', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('20', '13', 'Youtube tidak nampil pada landing page', 'completed', 'medium', 'youtube tidak nampil pada halaman baru landing page https://kursusbatam.com/training-ahli-k3-umum', '2026-08-25', '2026-08-23 05:27:20', '2026-08-27 06:05:59', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('21', '13', 'Jarak terlalu jauh dan penomoran kena garis', 'completed', 'medium', 'Jarak terlalu jauh dan penomoran kena garis untuk https://kursusbatam.com/training-ahli-k3-umum', '2026-08-25', '2026-08-23 05:28:34', '2026-08-27 06:05:38', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('22', '13', 'Banyak ruang kosong, ini karena ngak diisi datanya', 'completed', 'medium', 'Banyak ruang kosong, ini karena ngak diisi datanya pada landing page https://kursusbatam.com/training-ahli-k3-umum', '2026-08-25', '2026-08-23 05:29:25', '2026-08-27 06:05:43', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('23', '10', 'Pembuatan Halaman Khusus Setelah login, sehingga tidak diarahkan ke Dashboard.', 'completed', 'medium', 'Pembuatan Halaman Khusus Setelah login, sehingga tidak diarahkan ke Dashboard, Karena setelah dicoba pada designer dia bsa melihat dashboard.', '2026-08-28', '2026-08-27 00:18:35', '2026-08-27 07:30:37', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('24', '10', 'Penyesuaian Role Management, Designer seharusnya tidak bisa edit dan buat WO,', 'completed', 'medium', 'Penyesuaian Role Management, Designer seharusnya tidak bisa edit dan buat WO. Sudah dicentang pada role akses tapi tetap bisa juga.', '2026-08-28', '2026-08-27 00:19:53', '2026-08-27 07:30:42', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('25', '10', 'Penyesuaian Bill/PO Nomor bisa diisi manual', 'completed', 'medium', 'Pada saat buat design request, bill/po no bisa diisi manual oleh Admin.', '2026-08-28', '2026-08-27 00:20:52', '2026-08-28 14:58:39', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('26', '10', 'Dashboard tidak bisa di atur pada role akses', 'completed', 'medium', 'Dashboard tidak bisa di atur pada role akses oleh Admin, sehingga kesulitan untuk mengatur siapa aja yg bisa mengakses dashboard tersebut.', '2026-08-28', '2026-08-27 00:21:49', '2026-08-28 03:15:42', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('27', '10', 'Print dokumen WO untuk total nya muncul dua karena terpisah halaman', 'completed', 'medium', 'Print dokumen WO untuk total nya muncul dua karena terpisah halaman. Terus juga dokumennya tulisannya pecah mungkin karena font yang digunakan.', '2026-08-28', '2026-08-27 00:23:00', '2026-08-28 15:03:59', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('28', '14', 'Pembuatan Web Repair Seperti Web https://repair.sg/', 'completed', 'medium', 'Buatkan web seperti https://repair.sg design dibuat menarik dan simple.\r\nRepo sudah dishare ke email', '2026-08-07', '2026-08-28 20:42:51', '2026-08-28 20:42:51', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('29', '14', '[Berkah-Aneka-Karya] - Pemindahan Website dari Repo BAK ke Folder Portofolio Kepriwebsite untuk keperluan DEMO', 'completed', 'medium', 'Tolong dipindahkan Database, dan juga Website BAK ke Folder Portofolio Kepriwebsite dengan folder Berkah-Aneka-Karya untuk keperluan DEMO Hari Senin bersama klien.', '2026-08-30', '2026-08-28 20:49:58', '2026-08-29 03:15:14', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('30', '14', '[Distributor-ERP] - Pemindahan Repo https://gitlab.com/Allsha/distributor-erp.git ke Folder FTP Portoflio', 'completed', 'medium', 'bantu pindahkan repo hasil pekerjaan sebelumnya untuk DISTRIBUTOR ERP link https://gitlab.com/Allsha/distributor-erp.git ke Folder Portofolio. Buatkan saja folder baru untuk keperluan REPO Distributor ERP tsb. Namanya dibuat Distributor-ERP saja', '2026-08-30', '2026-08-28 20:54:13', '2026-08-29 03:18:23', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('31', '14', '[Upkeep.sg] - Pemindahan Repo UpKeep SG ke Folder Portofolio KepriWebsite', 'completed', 'medium', 'Tolong bantu pindahkan repo UPKeep SG untuk keperluan Demo kepada klien.', '2026-09-02', '2026-08-28 20:56:58', '2026-08-29 02:55:06', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('32', '14', '[General Supplier] - Pembuatan Website General Supplier', 'completed', 'medium', 'Bantu buatkan website General Supplier untuk Demo kepada Calon Klien. Contoh Website bisa dijadikan referensi sepeti berikut, tapi ini fokusnya dibatam.\r\nlink referensi:\r\n1) https://www.kurniainvestama.com\r\n2) https://www.cassindo.com', '2026-08-30', '2026-08-28 21:10:59', '2026-08-29 03:31:39', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('33', '14', '[Berkah Aneka Karya] - Munculkan beberapa kategori dan produk pada Halaman Home', 'completed', 'medium', 'Mohon agar dapat dimunculkan beberapa produk dan kategori pada halaman Home, agar website lebih menarik.', '2026-08-31', '2026-08-31 00:46:16', '2026-08-31 08:55:55', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('34', '14', '[Berkah Aneka Karya] - Memunculkan Informasi Sample FAQ pada Halaman Home', 'completed', 'medium', 'Mohon agar dapat dibuatkan beberapa faq pada halaman Home PT Berkah Aneka Karya', '2026-08-31', '2026-08-31 00:47:25', '2026-08-31 08:56:01', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('35', '14', '[Berkah Aneka Karya] - Buatkan beberapa produk sample agar bisa kelihatan informasi pada web', 'completed', 'medium', 'Tolong buatkan berapa sample produk agar pada web bisa kelihatan bentuk dari websitenya.', '2026-08-31', '2026-08-31 00:48:42', '2026-08-31 08:56:05', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('36', '14', '[Up Keep SG] - Sesuaikan foto pada website agar tidak muncul repair.sg', 'completed', 'medium', 'Tolong dibantu sesuaikan gambar pada upkeep.sg agar tidak menggunakan gambar repair.sg takutnya kena copyright. Termasuk email, informasi dan nomor whatsappnya.', '2026-08-31', '2026-08-31 00:52:00', '2026-08-31 08:50:48', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('37', '14', '[WaterProfingBatam] - Buatkan Website untuk Jasa WaterProfing Batam', 'completed', 'medium', 'Tolong buatkan website Jasa WaterProfingBatam untuk keperluan demo kepada Calon Klien. Buatkan landing page saja. Informasi bisa diambil dari link berikut https://waterproofingindonesia.id/jasa-waterproofing-batam/. Buatkan foldernya sekalian.', '2026-09-01', '2026-08-31 00:55:42', '2026-08-31 09:13:08', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('38', '13', 'Ganti webinar live jadi jadwal, sama dengan lokasi', 'completed', 'medium', 'Ganti webinar live jadi jadwal, sama dengan lokasi', '2026-09-01', '2026-08-31 02:10:04', '2026-09-02 13:18:58', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('39', '13', 'Penyesuaian Halaman Agar jika tidak diisi Informasi maka cardnya dihilangkan saja', 'completed', 'medium', '-', '2026-09-01', '2026-08-31 02:10:55', '2026-08-31 09:54:31', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('40', '13', 'Penyesuaian html dasar pada web, karena masih ada muncul
pada beberapa section.', 'completed', 'medium', '-', '2026-09-01', '2026-08-31 02:11:46', '2026-08-31 09:54:27', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('41', '17', 'Clone Repositori KWM-ERP pada GITLAB dengan Branc BAK-ERP', 'completed', 'medium', 'Silahkan lakukan GIT CLONE BRANCH BAK-ERP lalu jalankan aplikasi secara LOKAL.', '2026-09-01', '2026-08-31 15:16:49', '2026-09-01 04:49:42', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('42', '17', '1) Pembuatan Modul Master Data', 'completed', 'medium', 'Sistem menyediakan pengelolaan master data sebagai referensi utama seluruh transaksi, meliputi:\r\n1) Master Data Produk\r\n2) Master Data Kategori Produk\r\n3) Master Data Customer\r\n4) Master Data Vendor/Supplier\r\n5) Master Data Satuan\r\n6) Master Data Pengiriman\r\n7) Master Data Dokumen dan data pendukung lainnya\r\n\r\nPada Master Customer, wajib tersedia kategori customer yang membedakan antara:\r\n1) Pemerintahan\r\n2) Swasta\r\n\r\nKategori customer tersebut akan menjadi dasar dalam menentukan alur dokumen, proses penagihan, serta kebutuhan administrasi pada tahapan berikutnya.\r\n\r\nUntuk Lampiran Master Data Produk bisa mengikuti dari excel terlampir.', '2026-09-02', '2026-08-31 15:19:25', '2026-09-02 13:30:17', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('43', '17', '2. Modul Custom Sales Order / Pesanan Customer', 'completed', 'medium', 'Sales Order digunakan sebagai dokumen utama untuk mencatat dan memonitor pesanan dari customer.\r\nSumber pesanan dapat berasal dari:\r\n1) E-Procurement / E-Proc\r\n2) Website\r\n3) Email\r\n4) Sales\r\n5) Sumber atau dokumen pemesanan lainnya\r\n\r\nSetiap Sales Order wajib memiliki informasi yang lengkap, antara lain:\r\n1) Nomor \r\n2) Customer\r\n3) Tanggal pesanan\r\n4) Produk dan jumlah pesanan\r\n5) Harga/nilai pesanan\r\n6) Dokumen sumber pesanan\r\n7) Link E-Proc atau referensi transaksi lainnya\r\n8) Tanggal jatuh tempo penyelesaian pesanan\r\n9) Status ketersediaan barang\r\n10) Status proses pengadaan dan pengiriman\r\n11) Pengelolaan Surat Pesanan (SP)\r\n\r\nKhusus pesanan yang berasal dari instansi pemerintahan, seperti Puskesmas atau instansi lainnya, sistem harus dapat mencatat Surat Pesanan (SP) beserta batas waktu penyelesaiannya.\r\n\r\nApabila Surat Pesanan memiliki batas waktu penyelesaian 30 hari kalender, sistem harus dapat menghitung dan menampilkan periode tersebut sejak tanggal SP diterbitkan hingga barang diterima oleh customer.\r\n\r\nSistem juga harus menyediakan indikator atau peringatan apabila:\r\n1) Batas waktu SP semakin dekat;\r\n2) Produk belum tersedia;\r\n3) Proses pembelian kepada vendor belum dilakukan;\r\n4) Barang belum diterima;\r\n5) Barang belum dikirim kepada customer.\r\n\r\nDengan demikian, risiko keterlambatan pemenuhan pesanan dapat diketahui lebih awal.', '2026-09-02', '2026-09-01 06:39:54', '2026-09-08 02:40:48', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('44', '17', '3. Modul Purchase Order ERP', 'completed', 'medium', 'Purchase Order (PO) digunakan untuk proses pembelian atau pengadaan barang kepada vendor/supplier.\r\nSistem harus mendukung fleksibilitas pengadaan, seperti:\r\n1) Satu produk dapat dibeli dari beberapa vendor;\r\n2) Beberapa produk dapat dibeli dari vendor yang berbeda;\r\n3) Satu Work Order customer dapat menghasilkan beberapa Purchase Order Vendor;\r\n4) Quantity produk dapat dibagi ke beberapa vendor sesuai kebutuhan.\r\n\r\nContoh:\r\nPesanan sebanyak 300 unit dapat dibagi menjadi:\r\n1) Vendor A: 150 unit\r\n2) Vendor B: 150 unit\r\n\r\nSistem tetap harus menghubungkan seluruh Purchase Order tersebut dengan Work Order customer yang sama.\r\n\r\nTujuan Pengiriman Purchase Order\r\nPada saat membuat Purchase Order Vendor, TUJUAN PENGIRIMAN BARANG WAJIB DITENTUKAN SECARA JELAS.\r\nTujuan pengiriman dapat berupa:\r\n1) Langsung ke lokasi customer; atau\r\n2) Dikirim terlebih dahulu ke PT.\r\n\r\nInformasi tujuan pengiriman tersebut bersifat mandatory/wajib dan harus tampil secara jelas pada dokumen Purchase Order.', '2026-09-02', '2026-09-01 14:09:33', '2026-09-08 02:40:50', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('45', '17', '4) Modul Penerimaan dan Monitoring Barang', 'completed', 'medium', 'Sistem harus dapat memonitor proses barang sejak dilakukan pemesanan kepada vendor hingga barang diterima.\r\nInformasi yang dapat dimonitor meliputi:\r\n1) Barang yang dipesan\r\n2) Vendor\r\n3) Quantity PO\r\n4) Quantity diterima\r\n5) Quantity belum diterima\r\n6) Tanggal estimasi kedatangan\r\n7) Tanggal barang diterima\r\n8) Lokasi penerimaan\r\n9) Status ketersediaan barang\r\n10) Keterkaitan dengan Work Order customer\r\n\r\nStatus tersebut akan menjadi bagian dari monitoring pemenuhan pesanan customer.', '2026-09-02', '2026-09-01 14:11:20', '2026-09-08 02:40:52', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('46', '17', '5. Delivery Order / Surat Jalan', 'completed', 'medium', 'Setelah barang tersedia dan siap dikirim, sistem dapat menerbitkan Delivery Order (DO) / Surat Jalan berdasarkan Work Order Customer.\r\n\r\nDelivery Order minimal memuat:\r\n1) Nomor DO\r\n2) Referensi Work Order\r\n4) Customer\r\n5) Alamat pengiriman\r\n6) Daftar produk\r\n7) Quantity\r\n8) Tanggal pengiriman\r\n9) Informasi penerima\r\n10) Status pengiriman\r\n11) Dokumen pendukung lainnya\r\n\r\nDelivery Order menjadi salah satu dokumen utama dalam proses serah terima barang kepada customer.', '2026-09-03', '2026-09-01 15:35:15', '2026-09-08 02:40:54', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('47', '17', '6. Invoice dan Proforma Invoice', 'completed', 'medium', 'Setelah persyaratan dokumen terpenuhi, sistem dapat melakukan proses penagihan kepada customer.\r\n\r\nDokumen yang menjadi dasar penerbitan invoice antara lain:\r\n1) Work Order\r\n2) Delivery Order / Surat Jalan\r\n3) Berita Acara Uji Fungsi\r\n4) Form Uji Fungsi\r\n5) Dokumen pendukung lainnya sesuai kebutuhan customer\r\n\r\nA) Invoice\r\nInvoice diterbitkan dengan nilai transaksi lengkap sesuai pesanan dan realisasi barang yang telah dipenuhi.\r\n\r\nB) Proforma Invoice\r\nKhusus customer kategori Swasta, sistem dapat menyediakan opsi penerbitan Proforma Invoice (PI) setelah Work Order diterbitkan. Proforma Invoice dapat digunakan sebagai dasar pembayaran awal, DP, atau kebutuhan administrasi customer sebelum transaksi selesai sepenuhnya', '2026-09-03', '2026-09-02 12:47:56', '2026-09-08 02:40:56', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('48', '10', 'Penyesuaian Bagian Modul Design Order', 'completed', 'medium', 'Penyesuaian Bagian Modul Design Order agar saat sudah disetujui maka tidak bisa diupload ulang atau disetujui kembali. Jika pengen ada revisi maka mereka harus buat design order baru. Terus design upload bisa lebih daripada 3X, batasannya sampai design disetujui.', '2026-09-04', '2026-09-02 12:54:53', '2026-09-02 13:45:49', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('49', '16', 'Install Laravel untuk Website PT STS sesuai Template yg ada di GIT', 'completed', 'medium', 'Tolong installkan laravel untuk kebutuhan website PT STS, template standard web mengacu ke Git yang di CLONE. Pastikan juga ada halaman admin untuk melihat kunjungan website, menerima kontak masuk.', '2026-09-05', '2026-09-02 13:59:15', '2026-09-03 15:36:27', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('50', '10', 'Penambahan DTF agar bisa menjadi 2 Proses yaitu Print DFT dan Press DTF', 'completed', 'medium', 'Untuk bagian DTF tlg dibagi menjadi 2 proses yaitu print DTF dan Press DTF. \r\nAlur produksinya \"... Bordir > Print DTF > Press DTF > Finishing..', '2026-09-04', '2026-09-02 14:49:36', '2026-09-03 14:59:39', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('51', '15', 'Install Laravel Dari GIT Repo PT BAK, Template menyesuaikan dari yang sudah ada', 'completed', 'medium', 'Bantu install laravel pada GIT REPO PT BAK, template sudah dibuat dan sudah sesuai dengan company profile PT BAK', '2026-09-05', '2026-09-02 15:26:11', '2026-09-03 17:39:15', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('52', '15', 'Penyesuaian Halaman Home BAK', 'completed', 'medium', 'Sesuaikan halaman ini hanya menampilkan merek dari BAK yaitu LAVATRICE (referensi ke https://www.lavatrice.id/) dan Facemed', '2026-09-05', '2026-09-04 14:51:13', '2026-09-05 04:28:51', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('53', '15', 'Perbaikan Positioning & Konten Website PT Berkah Aneka Karya', 'completed', 'medium', 'bantu perbaikan pada website PT Berkah Aneka Karya tanpa mengubah desain secara keseluruhan. Fokus utama adalah menyesuaikan positioning perusahaan agar lebih jelas sebagai penyedia Alat Kesehatan dan Alat Penunjang Kesehatan.\r\n\r\nPerubahan yang diminta:\r\n1) Ubah headline dan deskripsi utama di halaman Beranda agar tidak hanya fokus pada FaceMed dan Lavatrice.\r\n2) Arahkan fokus layanan website menjadi:\r\n- Alat Kesehatan\r\n- Hospital Laundry System / Lavatrice\r\n- Ruang Cytotoxic\r\n- Biosafety Level 1 & 2\r\n- Linen Rumah Sakit\r\n3) FaceMed dan Lavatrice tetap ditampilkan sebagai brand/partner pendukung, bukan sebagai fokus utama website.\r\n4) Rapikan menu navigasi menjadi: Beranda | Tentang Kami | Solusi | Brand & Partner | Legalitas | Kontak\r\n5) Sesuaikan isi halaman Tentang Kami, Layanan/Solusi, dan section lainnya agar tidak lagi menonjolkan bisnis maritim atau general supplier.\r\n6) Pada bagian hero/banner utama, gunakan positioning yang menekankan Solusi Alat Kesehatan & Penunjang Fasilitas Kesehatan.\r\n7) Pertahankan gaya visual, warna, dan layout utama website yang sudah ada. Perubahan lebih difokuskan pada struktur konten, wording, dan informasi perusahaan.\r\n8) Pastikan tampilan tetap responsive di desktop dan mobil', '2026-09-07', '2026-09-06 14:01:26', '2026-09-07 11:31:54', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('54', '15', 'Enhancement Web BAK agar lebih minimalis tapi profesional', 'completed', 'medium', 'Bantu agar dapat disesuaikan web BAK agar lebih minimalis, label2 disesuaikan, informasi juga dibuat minimalis tapi tetap bisa menggambarkan perusahaan BAK', '2026-09-09', '2026-09-08 02:13:26', '2026-09-08 04:54:59', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('55', '15', 'Foto Utama Web diganti menjadi Foto Kantor', 'completed', 'medium', 'Mohon agar dapat diganti foto website menjadi foto kantor saja agar lebih real', '2026-09-09', '2026-09-08 05:35:44', '2026-09-10 15:28:53', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('56', '15', 'Hilangkan Link ke Panel Admin untuk Resiko Keamanan', 'completed', 'medium', 'Hilangkan Link ke Panel Admin untuk Resiko Keamanan', '2026-09-08', '2026-09-08 05:36:44', '2026-09-10 15:28:56', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('57', '17', 'Setup ERP BAK di Server APP-BAK.com', 'completed', 'medium', 'Tlong bantu setup ERP BAK di Server app-bak.com terlampir di email dan di catatan', '2026-09-09', '2026-09-08 23:26:34', '2026-09-09 18:51:02', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('58', '18', 'Setup ERP STS di Server app-sts.com', 'completed', 'medium', 'Tlong bantu setup ERP BAK di Server app-sts.com terlampir di email dan di catatan', '2026-09-09', '2026-09-08 23:27:24', '2026-09-10 16:03:18', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('59', '16', 'Penyesuaian Web (Penyesuaian Website STS (utk produk atk di hilangkan. gak punya KBLI nya)', 'completed', 'medium', 'Penyesuaian Website STS (utk produk atk di hilangkan. gak punya KBLI nya) sesuai permintaan dari Dir STS', '2026-09-09', '2026-09-09 07:32:38', '2026-09-10 15:08:18', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('60', '16', 'Foto orangnya dihilangkan saja termasuk nama pimpinannya', 'completed', 'medium', 'Mohon dapat dihapus saja nama direktur dan komisaris pada website.', '2026-09-14', '2026-09-12 00:54:11', '2026-09-13 04:09:00', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('61', '16', 'Ubah email menjadi pt.sts@sayangterbuangsolusi.co.id', 'completed', 'medium', 'Bantu ubah email menjadi pt.sts@sayangterbuangsolusi.co.id, hilangkan juga tombol Hubungi Via whatsapp dan nomor whatsapp, karena sudah ada di chatbox', '2026-09-14', '2026-09-12 00:56:24', '2026-09-13 04:09:04', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('62', '16', 'Ubah Chat Box bisa lebih dari 1 whatsapp', 'completed', 'medium', 'Buat seperti chat box https://ptlavamarine.com/', '2026-09-14', '2026-09-12 00:57:21', '2026-09-13 04:09:07', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('63', '17', 'Tidak bisa menambah produk baru pada https://app-bak.com/produk', 'completed', 'medium', 'Saat tekan tombol Tambah Produk baru, dan tambah lainnya tidak berfungsi', '2026-09-14', '2026-09-12 01:11:50', '2026-09-13 03:13:42', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('64', '16', 'Penyesuaian warna bakground biru ke Maron #993365', 'completed', 'medium', 'Penyesuaian warna bakground biru ke Maron #993365 sesuai permintaan Dir STS (PT STS lebih ke warna Maroon / Magenta)', '2026-09-14', '2026-09-12 15:45:10', '2026-09-13 04:09:09', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('65', '17', 'Memindahkan Source ke Gitlab BAK_ERP', 'completed', 'medium', 'Tolong dipindahkan source sistem ke BAK_ERP agar nanti dikoneksikan otomatis ke Hostinger', '2026-09-13', '2026-09-13 09:54:13', '2026-09-17 04:32:46', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('66', '18', 'Tolong dipindahkan source sistem ke STS_ERP agar nanti dikoneksikan otomatis ke Hostinger', 'completed', 'medium', 'Tolong dipindahkan source sistem ke STS_ERP agar nanti dikoneksikan otomatis ke Hostinger', '2026-09-14', '2026-09-13 09:54:52', '2026-09-17 03:39:42', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('67', '15', 'Ganti Gambar Kantor Sesuai dengan yang Asli bukan AI', 'completed', 'medium', 'Berikut link map perusahaan, ada fotonya disana https://maps.app.goo.gl/fhHJ8mVgcGmq4rmY9', '2026-09-13', '2026-09-13 16:22:16', '2026-09-14 15:38:04', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('68', '15', 'Tambahkan Google Map perusahaan pada halaman kontak', 'completed', 'medium', 'Tambahkan embed Google Map Perusahaan ', '2026-09-14', '2026-09-13 16:22:23', '2026-09-14 16:37:34', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('69', '15', 'Ganti Gambar Ruang Cytotoxic pada Web dengan Lampiran', 'completed', 'medium', 'Ganti Gambar Ruang Cytotoxic pada Web dengan Lampiran', '2026-09-14', '2026-09-13 16:25:36', '2026-09-14 16:37:41', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('70', '15', 'Ganti gambar Linen Rumah Sakit dengan gambar terlampir', 'completed', 'medium', 'Ganti gambar Linen Rumah Sakit dengan gambar terlampir', '2026-09-14', '2026-09-13 16:27:50', '2026-09-14 16:03:06', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('71', '16', 'Tambahkan link E Proc pada web sehingga bisa terhubung saat diklik', 'completed', 'medium', 'Web tolong juga masukkan link ini ya agar pengunjung yang klik link tersebut langsung bisa terhubung ke sistem e purchashing inaproc PT STS', '2026-09-15', '2026-09-14 13:10:18', '2026-09-14 14:43:10', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('72', '16', 'ubah link whatsapp ini agar bisa link kedua nomor', 'completed', 'medium', 'ubah link whatsapp ini agar bisa link kedua nomor', '2026-09-15', '2026-09-14 13:28:50', '2026-09-14 14:43:21', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('73', '17', 'buatkan coming soon pada menu2 berikut karena agar masuk bulan depan saja', 'completed', 'medium', 'Buat coming soon dan tidak bisa diklik menu2 berikut:\r\n- Stok & Persediaan\r\n- Jurnal Umum\r\n- Laporan Keuangan (tulisan HPP hapus aja)\r\n- Master Coa (tulisan akuntansi hapus aja', '2026-09-15', '2026-09-14 15:30:13', '2026-09-17 04:15:56', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('74', '17', 'Hide atau buat coming soon pemetaan COA Pembelian dan Coa Penjualan', 'completed', 'medium', 'Bantu di hide dlu yang berhubungan dengan coa, atau dibuat coming soon.', '2026-09-15', '2026-09-14 15:31:27', '2026-09-17 04:20:31', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('75', '17', 'Tambah Paging pada Halaman Master Produk', 'completed', 'medium', 'Bantu tambahkan PAGING pada halaman Master Katalog Produk Alkes & Penunjang Medis agar tidak terlalu banyak data yg ditampilkan, karena total produk ada 2000 produk.', '2026-09-15', '2026-09-14 15:33:15', '2026-09-17 04:32:49', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('76', '18', 'Hide 7 Pilar Layanan & Portofolio Pengadaan PT STS', 'completed', 'medium', 'Hide 7 Pilar Layanan & Portofolio Pengadaan PT STS agar nanti bisa kita tambahkan grafik dan informasi yg dibutuhkan untuk dashboard PT STS', '2026-09-16', '2026-09-14 15:46:41', '2026-09-17 03:44:53', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('77', '18', 'Buat menu berikut Coming Soon', 'completed', 'medium', 'Buat menu berikut coming soon:\r\n1) Stok dan Mutasi Persediaan\r\n2) Jurnal Umum Transaksi\r\n3) Dihapus aja Laba Rugi & HPP Pengadaan \r\n4) Master COA (Tulisan Bagan akun dihapus aja)', '2026-09-16', '2026-09-14 15:49:02', '2026-09-17 03:47:52', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('78', '18', 'Hide aja dlu stok tersedia, soalnya harus ada history stok kalau kita implementasikan', 'completed', 'medium', 'Hide aja dlu stok tersedia, soalnya harus ada history stok kalau kita implementasikan', '2026-09-16', '2026-09-14 15:49:39', '2026-09-17 03:49:38', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('79', '18', 'Master Kategori Fokus ke KAtegori Produk saja dulu', 'completed', 'medium', 'Master Kategori Fokus ke KAtegori Produk saja dulu agar bisa masuk pengembangan lanjutan.', '2026-09-16', '2026-09-14 15:51:00', '2026-09-17 03:51:18', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('80', '18', 'dibuat coming soon aja dlu master dokumen', 'completed', 'medium', 'dibuat coming soon aja dlu master dokumen', '2026-09-16', '2026-09-14 15:52:05', '2026-09-17 03:51:59', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('81', '18', 'Penyuaian Cetakan Format DO, Invoice, PO, Quo sebagaimana file diupload pada media rana', 'completed', 'medium', 'Penyuaian Cetakan Format DO, Invoice, PO, Quo sebagaimana file diupload pada media rana', '2026-09-16', '2026-09-14 16:46:40', '2026-09-17 04:11:27', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('82', '17', 'Perbaikan Modul Sales Order', 'completed', 'medium', '-Tambahkan export ke Excel dan PDF data sales Order\r\n-Pada nama menu ubah jadi Sales Order saja tanpa ada tulisan Pesanan klien\r\n- Tambahkan Paging dan pencarian pada halaman sales order\r\n- Jika Sales order sudah dibuatkan Delivery surat jalan atau PO maka data Sales order tidak bisa di edit dan dihapus lagi', '2026-09-23', '2026-09-23 02:49:25', '2026-09-23 02:52:30', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('83', '18', 'Sesuaikan halaman Sales Order', 'completed', 'medium', '-Tambahkan export ke Excel dan PDF data sales Order\r\n-Pada nama menu ubah jadi Sales Order saja tanpa ada tulisan Pesanan klien\r\n- Tambahkan Paging dan pencarian pada halaman sales order\r\n- Jika Sales order sudah dibuatkan Delivery surat jalan atau PO maka data Sales order tidak bisa di edit dan dihapus lagi', '2026-09-23', '2026-09-23 02:54:41', '2026-09-23 03:54:33', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('84', '18', 'Penyesuaian Menu Purchase Order STS', 'completed', 'medium', 'Sesuaikan modul Manajemen Purchase order yaitu:\r\n- Tambahkan pencarian pada halaman purchase order\r\n- Tambahkan paging\r\n- Ubah judul menjadi Purchase Order saja tanpa ada inisial lainya\r\n- Tambah export data excel dan pdf untuk PO\r\n- Jika barang sudah diterima maka tidak bisa di edit dan dihapus lagi\r\n- Sesuaikan hasil cetakan pada PO agar dikasi ehader nama perusahaan PT Sayang Terbuang Solusi', '2026-09-23', '2026-09-23 02:55:44', '2026-09-24 02:47:12', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('85', '18', 'Penyesuaian Penerimaan & QC Barang', 'completed', 'medium', '- Tambahkan Ordered Qty, Received Qty, Receive Now dan Remaining Qty.\r\n- Modul penerimaan barang harus bisa mengakomodir partial receipt.\r\n- Tambahkan Accepted Qty dan Rejected Qty.\r\n- Buat Stock Movement otomatis setelah receipt.\r\n- Buat lokasi Stock, QC/Quarantine, dan Rejected.\r\n- Barang reject tidak boleh masuk Available Stock.\r\n- Buat fitur Return to Vendor.\r\n- Tambahkan attachment/foto penerimaan.\r\n- Semua perubahan receipt masuk Audit Log.', '2026-09-23', '2026-09-23 03:00:26', '2026-09-24 03:13:59', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('86', '18', 'Penyesuaian Modul Delivery Order / Surat Jalan / BAST', 'completed', 'medium', '- Tambahkan export dan form pencarian termasuk Paging pada halaman DO ini\r\n- Tambahkan detail item pada form Delivery Order. Saat ini form hanya terlihat berisi informasi header, sementara secara ERP DO harus memiliki DO Line / Delivery Line.\r\n- Tambahkan kolom minimal pada detail item: Produk, Qty SO, Sudah Dikirim, Qty Kirim Sekarang, Sisa Qty, UOM, dan jika diperlukan Serial Number / Lot Number.\r\n- Sistem harus mendukung partial delivery. Contoh SO 10 unit dapat dikirim 4 unit terlebih dahulu dan sisa 6 unit tetap outstanding.\r\n- Sistem tidak boleh mengizinkan quantity pengiriman melebihi outstanding quantity SO, kecuali ada mekanisme over-delivery dengan approval khusus.\r\n- Nomor DO harus dibuat otomatis dari sequence sistem dan tidak dapat diedit manual setelah transaksi dibuat.\r\n- Pisahkan Tanggal Rencana Pengiriman, Tanggal Barang Keluar, dan Tanggal Diterima Customer. Jangan langsung mengisi tanggal diterima ketika DO baru dibuat.\r\n- Nama penerima dan jabatan penerima sebaiknya diisi pada proses Proof of Delivery / BAST, bukan wajib ketika surat jalan baru diterbitkan.\r\n- Tambahkan informasi petugas internal pengiriman, minimal Prepared By, Warehouse / Dispatcher, dan bila relevan Driver / Courier.\r\n- Tambahkan data kendaraan bila pengiriman menggunakan armada sendiri: nomor polisi, nama driver, nomor telepon, dan jenis kendaraan.\r\n- Alamat pengiriman sebaiknya mengambil dari Delivery Address milik customer/SO, bukan diketik ulang setiap transaksi.\r\n- User boleh memilih alamat pengiriman lain hanya apabila customer memiliki beberapa delivery address yang sudah terdaftar.\r\n- Delivery Order harus terhubung dengan Inventory / Stock Movement. Ketika DO divalidasi, stok harus berkurang dari lokasi sumber.\r\n- Sistem perlu mendukung pengiriman berdasarkan warehouse/location, terutama apabila nantinya PT STS mempunyai lebih dari satu gudang.\r\n- Jangan menjadikan BAST dan Surat Jalan sebagai satu status saja. Surat Jalan adalah dokumen pengiriman, sedangkan BAST adalah bukti serah terima dan dapat terjadi setelah DO diterbitkan.\r\n- Upload scan BAST sebaiknya dilakukan setelah barang diterima, bukan menjadi bagian utama saat membuat DO baru.\r\n- Tambahkan dukungan upload lebih dari satu bukti, misalnya BAST, surat jalan bertanda tangan, foto barang, foto penerimaan, atau dokumen customer.\r\n- Tambahkan Delivery Notes / Catatan Pengiriman, misalnya instruksi masuk kawasan industri, lantai tujuan, PIC customer, jam penerimaan, dan sebagainya.\r\n- Tombol trash/delete pada daftar DO sebaiknya hanya diperbolehkan untuk transaksi Draft.\r\n- Semua perubahan penting harus tercatat di Audit Log: siapa membuat, mengedit, confirm, mengirim, menyelesaikan BAST, membatalkan, dan mengunggah dokumen.\r\n-Cetakan minimal berisi nomor DO, nomor SO, customer, alamat, tanggal pengiriman, daftar produk, quantity, UOM, serial/lot bila ada, pengirim, penerima, tanda tangan, dan catatan.', '2026-09-24', '2026-09-23 03:08:13', '2026-09-24 03:25:11', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('87', '18', 'Penyesuaian Penagihan & Faktur Invoice', 'completed', 'medium', '- Tambahkan pencarian, export data dan Paging untuk halaman penagihan & faktur invoice\r\n- Setelah pilih SO, otomatis tarik: customer, item, qty, harga, subtotal, pajak dan total tagihan.\r\n- Tambahkan detail item invoice, bukan hanya total DPP, PPN dan Grand Total.\r\n- Nomor invoice dibuat otomatis dari sequence dan tidak bisa diubah manual setelah dikonfirmasi.\r\n- PPN jangan dibuat hardcode 11%; gunakan Master Pajak / Tax Rate agar bisa berubah sesuai aturan.|\r\n- Tambahkan Payment Terms, misalnya 7 hari, 14 hari, 30 hari; jatuh tempo dihitung otomatis.\r\n- Tambahkan fitur partial payment / cicilan, termasuk tanggal bayar, nominal bayar, metode pembayaran dan sisa piutang.\r\n- Tambahkan bukti pembayaran / attachment dan histori pembayaran.\r\n- Invoice yang sudah diposting tidak boleh dihapus langsung; gunakan Cancel / Credit Note.\r\n- Rekening bank jangan hardcode di form; ambil dari Master Rekening Bank Perusahaan.\r\n- Tambahkan filter laporan: customer, tanggal invoice, jatuh tempo, belum bayar, overdue dan lunas.', '2026-09-24', '2026-09-23 03:12:18', '2026-09-24 03:33:00', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('88', '18', 'Hilangkan Selector Akun diatas', 'completed', 'medium', 'Hilangkan akun selector diatas, agar login menggunakan akses langsung menggunakan akun username dan password', '2026-09-23', '2026-09-23 03:16:18', '2026-09-24 03:52:25', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('89', '19', 'Pembuatan Demo Web Apps TUAH Numerasi lengkap', 'completed', 'medium', 'Berikut MD lengkap sebagaimana terlampir.. mohon dapat dibantu dibuatkan mockup website dimaksud semenarik mungkin unutk kebutuhan menawarkan ke SDN 002 Batu Ampar', '2026-09-25', '2026-09-24 09:51:22', '2026-09-25 03:22:42', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('90', '17', 'Hilangkan selector Pilih Peran Pengguna pada Nav Bar', 'completed', 'medium', 'Hilangkan selector Pilih Peran Pengguna pada Nav Bar karena sudah ada dihalaman LOGIN AWAL.', '2026-09-25', '2026-09-24 21:41:00', '2026-09-25 04:35:48', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('91', '17', 'Tambahkan Relasi SO di PO', 'completed', 'medium', 'Pada saat memilih referensi Sales Order maka data Item Produk bisa muncul otomatis dari data SO. Tidak apa-apa jika ada tombol tambah Item PO. Terus PO bisa dibuat lebih dari satu dari satu SO.. Misalnya di SO ada 2 barang, maka dua barang tersebut bisa diterbitkan menjadi 2 PO ke 2 Vendor.', '2026-09-25', '2026-09-24 21:45:16', '2026-09-25 11:30:00', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('92', '17', 'Penyesuaian Catat Penerimaan Barang Baru', 'completed', 'medium', 'Pada saat penerimaan barang baru, perlu dimunculkan item detil data barang atas Reference PO Vendor ini memudahkan memastikan barang mana saja yang diterima, jumlah qty yang diterima serta jika kondisi sebagian diterima maka barang selanjutnya tetap bisa diterima lagi. Ada opsi juga pada penerimaan barang itu qtynya di reject.', '2026-09-25', '2026-09-24 21:49:53', '2026-09-25 11:35:22', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('93', '17', 'Tombol Delete dihilangkan jika data sudah sesuai', 'completed', 'medium', 'Jika data sudah sesuai, maka tombol delete harus dihapuskan. Karena ada resiko data dihapus.', '2026-09-25', '2026-09-24 21:53:32', '2026-09-25 11:36:42', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('94', '17', 'Bisa melihat informasi pada data penerimaan barang', 'completed', 'medium', 'Sepertinya diperlukan tombol cetak bukti penerimaan barang, serta ditambahkan view detail untuk modul penerimaan barang. dan melihat item2 yang sudah diterima/sesuai.', '2026-09-25', '2026-09-24 21:53:38', '2026-09-25 11:40:15', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('95', '17', 'Tambah Detil untuk data SO yang akan dikirim pada Delivery Order', 'completed', 'medium', 'Tambah Detil untuk data SO yang akan dikirim pada Delivery Order agar memudhakan mengetahui detil yang akan dikirim. Selanjutnya juga untuk DO bisa parsial per produk pada Sales Order.', '2026-09-25', '2026-09-24 21:57:07', '2026-09-25 11:45:15', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('96', '17', 'Tambahkan History Pembayaran', 'completed', 'medium', 'Tambahkan HISTORY Pembayaran pada Invoice jika dilakukan pembayaran sebagian. Status pembayrannya berubah menjadi pembayaran sebagian (Down Payment)', '2026-09-25', '2026-09-24 22:00:15', '2026-09-25 11:53:10', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('97', '17', 'Penyesuaian halaman Tambah Produk Baru', 'completed', 'medium', 'Tambahkan field baru pada form tambah produk:\r\n- Tambahkan Link Brosur\r\n- Tambahkan Upload Gambar Produk\r\n- Tambahkan Spesifikasi \r\n- Sesuaikan Harga Modal Pembelian Vendor jadi Harga Principle\r\n- Tambah Harga Before PPn\r\n- Tambahkan PPn\r\n- Tambah Harga Tayang (otomatis ditambah PPn jika kolom PPn diisi)\r\n- Tambahkan Kategori Inaproc (ini bisa diambil dari master data Kategori Inaproc)\r\n- Tambah SKP IP\r\n- Tambahkan Masa Berlaku Sertifikat TKDN\r\n- Tambahkan NIE\r\n- Tambahkan Masa Berlaku NIE\r\n- Tambahkan Strktur Harga (free text)\r\n- Tambahkan Kode KFA\r\n- Tambahkan Surat Keterangan Layanan Purna Jual dan Spare Part\r\n- Tambahkan Sertifikat Telekomunikasi\r\n- Tambahkan Masa Berlaku Sertifikat Telekomunikasi\r\n- Tambahkan Expired Garansi\r\n- Tambah Link Inaproc\r\n- Tambahkan Daftar Principle\r\n\r\nMasing2 Kolom yang berhubungan dengan waktu dapat dimonitoring yang mana saja akan expired sehingga memudahkan owner untuk monitoring.. ditambah filter atau apalah diatas..', '2026-09-25', '2026-09-24 22:13:03', '2026-09-25 12:13:34', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('98', '17', 'Penyesuaian Halaman Master data Principal', 'completed', 'medium', 'Tambahkan kolom informasi baru pada Master Data Principal:\r\n- Legalitas Dokumen seperti NIB, NPWP, SIUP/Izin Edar\r\n- Masa Berlaku Kontrak Kerjasama dan Nomor Kontrak\r\n- Kategori Vendor (misal Principal Pabrikan Utama, Distributor Tunggal, Sub Distributor, Supplier Lokal)\r\n- Informasi Rekening Bank Tujuan Transfer untuk PO (Nama Bank, Nomor Rekening, Atas nama )\r\n- Ketentuan Termin Pembayaran (Payment Term seperti COD, 30 Hari, dll)\r\n- Indikator Kinerja Vendor (Ketepatan Pengiriman, Kualitas Barang) -> untuk Audit', '2026-09-25', '2026-09-24 22:19:42', '2026-09-25 12:18:52', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('99', '17', 'Hilagkan Modul Cadangan Data & Aset', 'completed', 'medium', 'Agar tidak salah digunakan, hilangkan menu Cadangan Data & Aset', '2026-09-25', '2026-09-24 22:21:36', '2026-09-25 12:21:00', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('100', '17', 'Hilangkan Pencadangan Basis Data & Berkas Aset Gambar', 'completed', 'medium', 'Hilangkan menu ini pada Halaman Dashboard', '2026-09-25', '2026-09-24 22:22:27', '2026-09-25 12:26:08', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('101', '18', 'Hidekan Bagan Akun (COA)', 'completed', 'medium', 'Buat COming soon aja dlu untuk BAGAN COA', '2026-09-25', '2026-09-24 22:24:24', '2026-09-25 03:24:09', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('102', '18', 'Tambahkan Field Baru di Katalog Produk', 'completed', 'medium', 'Tambahkan field berikut untuk Tambah Katalog Baru:\r\n- Field SKU/Kode barang (wajib unik)\r\n- Minimal STOK (angka)\r\n- Berat Barang / Dimensi', '2026-09-25', '2026-09-24 22:26:49', '2026-09-25 03:31:34', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('103', '18', 'Tambah Field Baru pada Master Customer Baru', 'completed', 'medium', 'Tambahkan field baru yaitu:\r\n- Nomor NPWP Perusahaan \r\n- Termin Pembayaran (dropdown)', '2026-09-25', '2026-09-24 22:28:13', '2026-09-25 03:46:20', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('104', '18', 'Tambah Field Pada Master Data Vendor', 'completed', 'medium', 'Tambahkan Field baru di Master Vendor\r\n- Nomor NPWP\r\n- Nama dan No Rekening Bank\r\n- Termin Pembayaran', '2026-09-25', '2026-09-24 22:29:28', '2026-09-25 03:46:43', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('105', '18', 'Enhancement Warna Sidebar dan Dashboard', 'completed', 'medium', 'Sidebar ditambahkan bisa dibuka dan tutup. Terus dikasi warna background #993365 dengan tulisan warna putih. Terus di Dashboard tidak perlu ada tombol BUAT SO', '2026-09-25', '2026-09-24 22:32:54', '2026-09-25 04:22:21', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('106', '17', 'Pada Modul Sales Order', 'completed', 'medium', '1. Penjualan produk an Sales Jangan Lupa masukkan Persentase nya ya\r\n2. Diskon Produk ( Persentase & Manual )', '2026-09-25', '2026-09-25 04:39:32', '2026-09-25 12:26:10', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('107', '10', 'Tambahkan Maxim pada metode pengiriman', 'completed', 'high', '[Hasil Notulen: Tambahkan Maxim pada metode pengiriman]\r\n\r\nACTION ITEMS:\r\nTambahkan opsi Maxim sebagai salah satu metode pengiriman di dalam sistem.\r\nPIC: Ali, Amri\r\nPrioritas: Sedang\r\n\r\nRINGKASAN NOTULEN:\r\nAda permintaan penambahan opsi Maxim ke dalam pilihan metode pengiriman.', '2026-09-26', '2026-09-25 08:03:14', '2026-09-25 17:54:11', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('108', '10', 'Pindahkan tahapan BORDIR setelah PRESS DTF', 'completed', 'medium', '[Hasil Notulen: Pindahkan tahapan BORDIR setelah PRESS DTF]\r\n\r\nACTION ITEMS:\r\nUbah alur tahapan produksi dengan memposisikan tahapan bordir setelah press DTF pada sistem.\r\nPIC: Ali, Amri\r\nPrioritas: Sedang\r\n\r\nRINGKASAN NOTULEN:\r\nTahapan BORDIR perlu dipindahkan setelah PRESS DTF agar lebih efisien karena penanggung jawab rolenya dipegang oleh bagian finishing.', '2026-09-26', '2026-09-25 08:05:23', '2026-09-25 17:54:13', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('109', '18', 'Kategori Pada Pesanan produk Masih Diketik, kalau bisa dibuatkan Dropdown', 'completed', 'medium', 'Kategori Pada Pesanan produk Masih Diketik, kalau bisa dibuatkan Dropdown', '2026-09-25', '2026-09-25 12:50:56', '2026-09-25 15:12:01', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('110', '18', 'Nilai PO 0 Padahal Sub Totalnya ada nilai', 'completed', 'medium', 'Nilai PO 0 Padahal Sub Totalnya ada nilai, ada kemungkinan tulisan Rpnya masuk dalam field jadinya nilai 0.', '2026-09-25', '2026-09-25 12:54:17', '2026-09-25 15:12:04', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('111', '18', 'Penyesuaian Cetakan SO, PO, DO, Invoice sesuai Format dari Klien', 'completed', 'medium', 'Format cetakan dihasilkan sistem tidak sesuai dengan format yg diminta klien.', '2026-09-25', '2026-09-25 12:59:34', '2026-09-25 15:12:45', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('112', '10', 'perbaiki note di popup tombol finishing', 'completed', 'medium', 'perbaiki note di popup tombol finishing', '2026-09-28', '2026-09-26 06:39:05', '2026-09-26 10:48:03', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('113', '18', 'Perlu ditambah Input Diskon (Bisa % dan Bisa Rupiah) pada PO dan Invoice', 'completed', 'medium', 'Tambahkan Discount, Add (VAT)/PPN, DP PO dan Pada Invoice,\r\nDiskon dapat berupa % dan Atau Nominal', '2026-09-25', '2026-09-27 14:07:18', '2026-09-28 05:11:38', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('114', '18', 'Master Data Produk Ditambah Expired dan Lot/Batch (wajib)', 'completed', 'medium', 'Bantu tambahkan field Expired dan Lot/Batch pada Master Data Produk untuk memudahkan pelacakan dan pengelolaan stok produk secara akurat.', '2026-09-28', '2026-09-27 14:28:54', '2026-09-28 05:11:40', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('115', '18', 'Sesuaikan Role Admin (Master Data, SO, Po,dan DO), Sales (buat SO), Finance (bisa semua)', 'completed', 'medium', 'Bantu sesuaikan hak akses role Admin (Master Data, SO, PO, DO), Sales (buat SO), dan Finance (semua akses) untuk memastikan keamanan dan efisiensi operasional. Tambahkan apda menu manajemen Pengguna & Hak Akses bisa mengelola akses setiap menu.', '2026-09-28', '2026-09-27 14:30:46', '2026-09-28 05:11:43', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('116', '18', 'Sesuaikan Modul Sales Order', 'completed', 'medium', '- Tambahkan field Diskon Produk (persentase/nominal) pada setiap item baris produk di detail Sales Order, yang mempengaruhi perhitungan subtotal item.\r\n- Ubah validasi field Nomor SPK menjadi opsional (tidak wajib diisi).\r\n- Tambahkan field Nama Sales (lookup/dropdown) dan Fee Persentase Sales pada header Sales Order.\r\n- Implementasikan fitur pencarian (search/filter) pada modul pemilihan produk saat menambah item Sales Order.\r\n- Tulisan harga tayang diganti jadi harga satuan.\r\n- Tambahkan checkbox Terapkan Pajak dan Sertakan Ongkos Kirim input SO, nantinya akan muncul teks dibawah quotation biaya sudah termasuk Pajak / Biaya sudah termasuk ongkir.\r\n- Tambahkan field Subtotal (total harga item sebelum pajak dan ongkos kirim jika ada) pada modul Quotation.', '2026-09-28', '2026-09-27 15:22:26', '2026-09-28 05:11:46', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('117', '18', 'Penyesuaian Halaman Purchase Order', 'completed', 'medium', '- Perbarui logo pada halaman Purchase Order.\r\n- Tambahkan field \'Tanggal Kedaluwarsa\' (Expiry Date) pada modul Master Barang (Product Master Data).\r\n- Tampilkan field \'Tanggal Kedaluwarsa\' pada detail item di halaman Purchase Order dan posisikan di samping nama produk (Product Name).', '2026-09-28', '2026-09-27 15:26:30', '2026-09-28 05:11:48', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('118', '18', 'Penyesuaian Modul Delivery Order', 'completed', 'medium', 'Pada modul Delivery Order, field \'Delivery By\' harus dari daftar \'Nama Driver\' yang diinput.', '2026-09-28', '2026-09-27 15:30:57', '2026-09-28 05:11:50', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('119', '18', 'Penyesuaian - Faktur / Invoice', 'completed', 'medium', 'Tampilkan informasi Pajak Penghasilan (PPH) pada cetakan faktur/invoice, meliputi nilai PPH (amount) dan persentase tarif PPH (rate). Sertakan juga informasi Pajak Pertambahan Nilai (PPN/VAT) dengan detail nilai (amount) dan persentase tarif (rate) jika berlaku.', '2026-09-28', '2026-09-27 15:31:53', '2026-09-28 05:11:52', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('120', '18', 'Penyesuaian CAP dan Warna Tulisan dengan Yang dishare ke Group', 'completed', 'medium', 'Menyesuaikan aset CAP/Stempel resmi PT STS Batam dan tanda tangan (stempel_ttd_kiky / stempel_ttd_kirana) serta warna teks/header maroon (#800020) sesuai format dokumen yang telah dibagikan ke grup.', '2026-09-29', '2026-09-28 20:13:31', '2026-09-30 13:00:33', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('121', '18', 'Penyesuaian Seluruh Footer emailya diganti pt.sts@sayangterbuangsolusi.co.id', 'completed', 'medium', 'Menyesuaikan seluruh alamat email pada footer sistem dan dokumen cetak resmi (Sales Order, Purchase Order, Delivery Order, BAST, Invoice, Kuitansi, dsb.) menjadi pt.sts@sayangterbuangsolusi.co.id.', '2026-09-29', '2026-09-28 20:21:46', '2026-09-30 13:00:28', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('122', '18', 'BUG - Pada saat buka DO ada BUG', 'completed', 'medium', 'Memperbaiki bug pada Delivery Order terkait inisialisasi nomor DO baru () sehingga halaman /delivery-order dapat dibuka dan berfungsi normal tanpa error.', '2026-09-29', '2026-09-28 20:45:32', '2026-09-30 13:00:21', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('123', '16', 'Tambahkan Foto Direktur pada Website STS', 'completed', 'medium', 'Foto dan profil Direktur (Kirana Puspa Habsari. SE) telah berhasil ditambahkan pada website STS.', '2026-09-29', '2026-09-28 20:50:35', '2026-09-29 06:42:50', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('124', '17', 'Penyesuaian SO, PO, DO, Invoice agar tampilannya bisa sama kayak STS (beda warna aja)', 'completed', 'medium', 'Standarisasi dan keseragaman format cetak SO (Surat Penawaran / Quotation), PO Vendor, DO (Surat Jalan), Invoice Penagihan, dan Bukti Penerimaan Barang dengan identitas resmi PT Berkah Aneka Karya (bidang alkes dan penunjang medis).', '2026-09-29', '2026-09-28 20:54:09', '2026-09-30 13:04:51', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('125', '17', 'Penyesuaian Peran pada Aplikasi', 'completed', 'medium', 'Penyesuaian peran aplikasi: PJT (master produk, customer, vendor, legalitas), Admin (SO, PO, DO, Penerimaan), Sales (SO & katalog), Finance & Super Admin (akses penuh seluruh modul), dilengkapi fitur Quick Role Switcher.', '2026-09-29', '2026-09-28 21:00:46', '2026-09-30 13:04:45', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('126', '17', 'Penyesuaian Modul SO pada BAK', 'completed', 'medium', 'Penyesuaian modul SO: diskon per item produk, nomor SPK dibuat opsional, nama sales dan fee persentase, pencarian produk cepat, harga satuan deal, opsi centang pajak PPn 11% & ongkos kirim, serta rincian subtotal lengkap pada Quotation.', '2026-09-29', '2026-09-28 21:02:20', '2026-09-30 13:04:38', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('127', '17', 'Penyesuaian Modul PO pada ERP BAK', 'completed', 'medium', 'Penambahan field Expired Date di master barang dan tabel item PO, penempatan tanggal expired di samping nama produk pada form dan cetak PO.', '2026-09-29', '2026-09-28 21:03:16', '2026-09-30 13:04:32', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('128', '16', 'Web STS hilangkan Makanan dan Minuman', 'completed', 'medium', 'Kategori Makanan dan Minuman telah dihapus dari antarmuka web, seeder, dan database.', '2026-09-29', '2026-09-28 21:04:53', '2026-09-29 06:42:37', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('129', '15', 'Website BAK ditambahkan alat penunjang medis dan juga chemical', 'completed', 'medium', 'Telah ditambahkan kategori Alat Penunjang Medis dan Chemical & Desinfektan Medis, fitur input & pengelolaan kategori di Admin ERP, pencarian/filter data, serta katalog interaktif di halaman publik /medical lengkap dengan prefill RFQ ke WhatsApp.', '2026-09-29', '2026-09-28 21:06:25', '2026-09-30 12:31:10', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('130', '15', 'Sesuaikan Website Warnanya agar lebih menarik seperti Logo', 'completed', 'medium', 'Skema warna website diselaraskan dengan warna logo PT BAK: Deep Royal Navy (#181878, #0f124d) dan Vibrant Amber Orange (#F28100) pada header top bar accent, kicker badge, CTA button, card hover, tab katalog, dan footer.', '2026-09-29', '2026-09-28 21:07:07', '2026-09-30 12:31:17', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('131', '15', 'Tambahkan Warna Sidebar pada ERP BAK sesuai Logo', 'completed', 'medium', 'Sidebar ERP BAK diperbarui dengan latar belakang gradien Royal Navy (#070a29 ke #181878), logo PT BAK dengan badge \'ERP SYSTEM\', aksen garis oranye logo (#F28100), active navigation link dengan gradien oranye yang kontras dan elegan, serta penataan grup menu yang rapi.', '2026-09-29', '2026-09-28 21:07:50', '2026-09-30 12:31:22', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('132', '17', 'Tambahkan kategori produk (Daftar/Master)', 'pending', 'medium', 'Tambahkan kategori di produk yaitu Apakah masuk ke daftar produk atau master produk. Daftar produk adalah produk yg bisa dijual oleh org lain, sedangkan master produk adalah produk BAK.', '2026-10-03', '2026-10-04 04:48:04', '2026-10-04 04:48:10', '2026-10-04 04:48:10'); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('133', '17', ', jika waktu pengiriman di extend dari Pengiriman sebelumnya. Maka ada kebutu...', 'completed', 'medium', 'Menambahkan fitur extend waktu pengiriman: field is_extended, tgl_pengiriman_sebelumnya, file_adendum_inaproc, dan catatan_adendum. Dilengkapi upload file kontrak adendum dari INAPROC (PDF/gambar), badge riwayat perpanjangan pada kartu SO, preview link dokumen, dan modal detail SO.', '2026-10-04', '2026-10-04 04:48:52', '2026-10-04 13:03:39', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('134', '17', 'Sesuaikan status pada Sales Order yaitu menjadi Draft, Belum Dikirim/Menunggu...', 'completed', 'medium', 'Menyesuaikan seluruh 9 status resmi Sales Order: Draft, Belum Dikirim/Menunggu PO, PO Terbit, Sedang Dikemas, Dalam Pengiriman, Telah Tiba, Sudah di Periksa, Sudah BAPP/BAST, dan Selesai. Melengkapi filter proses, normalisasi controller, badge warna konsisten pada card memanjang, dan dropdown modal SO.', '2026-10-04', '2026-10-04 04:49:10', '2026-10-04 13:03:34', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('135', '17', 'Tambahkan tanggal jadwal pengiriman di Sales Order', 'completed', 'medium', 'Menambahkan kolom tgl_jadwal_pengiriman di tabel sales_orders, accessor penghitung selisih hari/status deadline (deadline_info), tampilan indikator deadline pada wide card list SO, input tanggal pada modal SO, serta informasi jadwal pada modal detail SO.', '2026-10-04', '2026-10-04 04:49:19', '2026-10-04 13:03:27', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('136', '17', 'Tambahkan SK IP di modul Master Produk', 'completed', 'medium', 'Menambahkan field sk_ip dan tgl_exp_sk_ip pada tabel products dan model Product, menambahkan filter status masa berlaku SK IP (aktif, mendekati exp, expired), indikator badge visual masa berlaku pada card produk, serta form input pada modal produk.', '2026-10-04', '2026-10-04 04:49:24', '2026-10-04 13:03:22', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('137', '17', 'Perbaiki alur login sales di BAK ERP', 'completed', 'medium', 'Membuat halaman portal mandiri Sales (/sales-portal) dengan layout card memanjang yang terisolasi khusus penanganan Sales Order (JO), auto-redirect role sales saat login/quick-role, dan pengamanan akses agar sales tidak masuk ke dashboard internal atau modul purchasing/accounting.', NULL, '2026-10-04 04:49:30', '2026-10-04 13:03:18', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('138', '17', 'Tambahkan kategori produk (Daftar/Master)', 'completed', 'medium', 'Menambahkan field jenis_produk (\'Master Produk BAK\' vs \'Daftar Produk Mitra\') di database dan model Product, menambahkan tab filter klasifikasi di modul produk, badge status klasifikasi pada wide card list, serta input dropdown pada modal tambah/edit produk.', '2026-10-03', '2026-10-04 04:49:34', '2026-10-04 13:03:12', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('139', '17', 'Pajak disamain dengan STS begitu juga cetakan', 'completed', 'medium', 'Perhitungan dan format tampilan pajak telah diselaraskan dengan format STS (subtotal kotor, diskon, DPP net, PPN 11%, PPh, potongan DP, dan total amount due) pada modul Invoice, Purchase Order, dan Sales Order beserta seluruh cetakan dokumennya (cetak invoice, PO, dan SO).', '2026-09-29', '2026-10-04 04:49:40', '2026-10-04 13:03:06', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('140', '17', 'Hapus akun pilih akses cepat peran pada halaman login dan auto field pada aks...', 'completed', 'medium', 'Menghapus section Pilih Akses Cepat Peran dan mengosongkan nilai awal (autofill) pada field email dan password di form login', '2026-10-05', '2026-10-04 14:51:00', '2026-10-04 15:22:13', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('141', '17', 'Hapus IDAK dan CDAKB pada halaman login aplikasi ERP BAK', 'completed', 'medium', 'Menghapus nomor IDAK dan CDAKB pada header form halaman login aplikasi ERP BAK', '2026-10-05', '2026-10-04 14:52:05', '2026-10-04 15:22:06', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('142', '17', 'Saat login dengan akun PJT menu master data ngak muncul.', 'completed', 'medium', 'Memastikan menu Master Data (Produk, Customer, Principal/Vendor, Kategori) tampil dengan baik saat login sebagai PJT (Role ID 3) serta memperbaiki redirect role ID 5 untuk Sales', '2026-10-05', '2026-10-04 14:56:53', '2026-10-04 15:22:01', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('143', '17', 'Tambahkan pada bagian produk di BAK bisa menambahkan jasa, jadi ada kategori ...', 'completed', 'medium', 'Menambahkan klasifikasi tipe produk Goods (barang fisik berstok) dan Services (jasa non-stok) pada modul produk dan stok persediaan', '2026-10-05', '2026-10-04 15:14:08', '2026-10-04 15:40:24', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('144', '17', 'Hapus seluruh produk kecuali Washer Extractor karena senin udah harus entri d...', 'completed', 'medium', 'Menghapus seluruh produk pada katalog kecuali Washer Extractor', '2026-10-04', '2026-10-04 15:15:52', '2026-10-04 15:40:18', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('145', '17', 'Hapus master customer pada Aplikasi BAK ERP. Karena senin udah mulai entri da...', 'completed', 'medium', 'Membersihkan seluruh master data customer pada database aplikasi BAK ERP', '2026-10-04', '2026-10-04 15:18:21', '2026-10-04 15:40:14', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('146', '17', 'Hapus kategori produk sisakan Alat Kesehatan, Penunjang Medis dan Alat Labora...', 'completed', 'medium', 'Menyisakan hanya 3 kategori produk: Alat Kesehatan, Penunjang Medis, dan Alat Laboratorium', '2026-10-04', '2026-10-04 15:19:23', '2026-10-04 15:40:09', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('147', '17', 'Pada bagian footer seluruh dokumen ubah nomor hp jadi 0811-702-720 dan idak d...', 'completed', 'medium', 'Memperbarui footer dokumen cetak dengan nomor 0811-702-720 dan mengganti IDAK menjadi web www.berkahanekakarya.co.id', '2026-10-04', '2026-10-04 15:22:06', '2026-10-04 15:40:04', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('148', '17', 'Hilangkan Selector peran di header login karena saat login ke salah satu akun...', 'completed', 'medium', 'Hilangkan Selector peran di header login karena saat login ke salah satu akun. Dia bisa pindah ke akun lain yg bukan milik dia', '2026-10-05', '2026-10-04 16:25:21', '2026-10-04 16:28:55', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('149', '21', 'Tugasnya yaitu buat Mockup Aplikasi Point Of Sales (POS) untuk mengelola Cafe...', 'completed', 'medium', 'Mockup aplikasi Point Of Sales (POS) Cafe dan Bilyard selesai dibuat lengkap dengan manajemen meja billiard, timer billing real-time, kasir pemesanan F&B, riwayat transaksi/struk kasir, serta rekapitulasi shift.', '2026-10-06', '2026-10-05 03:22:09', '2026-10-05 05:14:04', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('150', '17', 'Tambahkan tugas baru ke Project BAK ERP yaitu download excel pada halaman mas...', 'completed', 'medium', 'Menambahkan fitur unduh/ekspor Excel pada halaman Master Produk & Produk dengan library PhpSpreadsheet. File Excel terbagi rapi menjadi 2 sheet: Sheet 1 (Master Produk) dan Sheet 2 (Produk) lengkap dengan styling header, status Inaproc, legalitas NIE/TKDN/KFA/SKP, dan format finansial. Tersedia tombol Unduh Excel pada header dan filter bar.', '2026-10-06', '2026-10-05 06:31:44', '2026-10-05 07:35:49', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('151', '17', 'Isinya tambahkan Cetak Permintaan Pembayaran sesuai word di grub, tombol ini ...', 'completed', 'medium', 'Isinya tambahkan Cetak Permintaan Pembayaran sesuai word di grub, tombol ini tersedia di modul invoice jadi cukup klik tombol muncul PDF sesuai format', '2026-10-06', '2026-10-06 06:26:16', '2026-10-06 08:54:47', NULL); INSERT INTO `workshop_works` (`id`, `workshop_project_id`, `task_name`, `status`, `priority`, `notes`, `due_date`, `created_at`, `updated_at`, `deleted_at`) VALUES ('152', '17', 'Bru pada Project BAK ERP', 'completed', 'medium', 'bru pada Project BAK ERP\n\nCetakan quotation di tabelnya ditambahkan gambar disamping item dan link inaproc di pada kolom keterangan dan spesifikasi', '2026-10-06', '2026-10-06 08:43:10', '2026-10-06 08:54:50', NULL); SET FOREIGN_KEY_CHECKS=1;