-- ============================================
-- BENGALI LMS - READY TO USE FOR SHARED HOSTING
-- Upload this file through phpMyAdmin
-- ============================================

-- Users table
CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `full_name` varchar(100) NOT NULL,
  `email` varchar(100) NOT NULL,
  `password` varchar(255) NOT NULL,
  `phone` varchar(20) DEFAULT NULL,
  `avatar` varchar(255) DEFAULT 'default-avatar.png',
  `role` enum('student','instructor','admin') DEFAULT 'student',
  `bio` text,
  `remember_token` varchar(255) DEFAULT NULL,
  `last_login` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Categories table
CREATE TABLE IF NOT EXISTS `categories` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name_bn` varchar(100) NOT NULL,
  `name_en` varchar(100) NOT NULL,
  `slug` varchar(100) NOT NULL,
  `icon` varchar(50) DEFAULT NULL,
  `description` text,
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `slug` (`slug`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Courses table
CREATE TABLE IF NOT EXISTS `courses` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `category_id` int(11) DEFAULT NULL,
  `instructor_id` int(11) DEFAULT NULL,
  `title_bn` varchar(255) NOT NULL,
  `title_en` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL,
  `description_bn` text,
  `description_en` text,
  `thumbnail` varchar(255) DEFAULT NULL,
  `price` decimal(10,2) DEFAULT '0.00',
  `duration` varchar(50) DEFAULT NULL,
  `level` enum('beginner','intermediate','advanced') DEFAULT 'beginner',
  `status` enum('draft','published','archived') DEFAULT 'published',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `slug` (`slug`),
  KEY `category_id` (`category_id`),
  KEY `instructor_id` (`instructor_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Lessons table
CREATE TABLE IF NOT EXISTS `lessons` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `course_id` int(11) DEFAULT NULL,
  `title_bn` varchar(255) NOT NULL,
  `title_en` varchar(255) NOT NULL,
  `youtube_url` varchar(500) DEFAULT NULL,
  `video_duration` varchar(10) DEFAULT NULL,
  `description` text,
  `order_number` int(11) DEFAULT '0',
  `is_free` tinyint(1) DEFAULT '0',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `course_id` (`course_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Quizzes table
CREATE TABLE IF NOT EXISTS `quizzes` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `lesson_id` int(11) DEFAULT NULL,
  `question_bn` text NOT NULL,
  `question_en` text NOT NULL,
  `option_a` varchar(255) DEFAULT NULL,
  `option_b` varchar(255) DEFAULT NULL,
  `option_c` varchar(255) DEFAULT NULL,
  `option_d` varchar(255) DEFAULT NULL,
  `correct_answer` char(1) DEFAULT NULL,
  `explanation` text,
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `lesson_id` (`lesson_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Packages table
CREATE TABLE IF NOT EXISTS `packages` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name_bn` varchar(100) NOT NULL,
  `name_en` varchar(100) NOT NULL,
  `price` decimal(10,2) NOT NULL,
  `duration_months` int(11) DEFAULT '1',
  `features` text,
  `is_popular` tinyint(1) DEFAULT '0',
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Package courses table
CREATE TABLE IF NOT EXISTS `package_courses` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `package_id` int(11) DEFAULT NULL,
  `course_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `package_id` (`package_id`),
  KEY `course_id` (`course_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Enrollments table
CREATE TABLE IF NOT EXISTS `enrollments` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) DEFAULT NULL,
  `package_id` int(11) DEFAULT NULL,
  `course_id` int(11) DEFAULT NULL,
  `amount_paid` decimal(10,2) DEFAULT NULL,
  `payment_status` enum('pending','completed','failed') DEFAULT 'pending',
  `enrolled_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `expires_at` date DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `user_id` (`user_id`),
  KEY `package_id` (`package_id`),
  KEY `course_id` (`course_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Lesson progress table
CREATE TABLE IF NOT EXISTS `lesson_progress` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) DEFAULT NULL,
  `lesson_id` int(11) DEFAULT NULL,
  `completed` tinyint(1) DEFAULT '0',
  `watched_duration` int(11) DEFAULT '0',
  `completed_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `unique_progress` (`user_id`,`lesson_id`),
  KEY `lesson_id` (`lesson_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Quiz attempts table
CREATE TABLE IF NOT EXISTS `quiz_attempts` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) DEFAULT NULL,
  `quiz_id` int(11) DEFAULT NULL,
  `user_answer` char(1) DEFAULT NULL,
  `is_correct` tinyint(1) DEFAULT NULL,
  `attempted_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `user_id` (`user_id`),
  KEY `quiz_id` (`quiz_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Reviews table
CREATE TABLE IF NOT EXISTS `reviews` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) DEFAULT NULL,
  `course_id` int(11) DEFAULT NULL,
  `rating` int(11) DEFAULT NULL,
  `comment` text,
  `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `user_id` (`user_id`),
  KEY `course_id` (`course_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- ============================================
-- INSERT DEFAULT DATA
-- ============================================

-- Categories
INSERT INTO `categories` (`name_bn`, `name_en`, `slug`, `icon`) VALUES
('ওয়েব ডেভেলপমেন্ট', 'Web Development', 'web-development', 'fa-code'),
('গ্রাফিক ডিজাইন', 'Graphic Design', 'graphic-design', 'fa-palette'),
('ডিজিটাল মার্কেটিং', 'Digital Marketing', 'digital-marketing', 'fa-chart-line'),
('মোবাইল অ্যাপ ডেভেলপমেন্ট', 'Mobile App Development', 'mobile-app', 'fa-mobile-alt'),
('ডাটা সায়েন্স', 'Data Science', 'data-science', 'fa-database'),
('সাইবার সিকিউরিটি', 'Cyber Security', 'cyber-security', 'fa-shield-alt'),
('ক্লাউড কম্পিউটিং', 'Cloud Computing', 'cloud-computing', 'fa-cloud'),
('আর্টিফিশিয়াল ইন্টেলিজেন্স', 'Artificial Intelligence', 'artificial-intelligence', 'fa-robot');

-- Packages
INSERT INTO `packages` (`name_bn`, `name_en`, `price`, `duration_months`, `features`, `is_popular`) VALUES
('বেসিক প্যাকেজ', 'Basic Package', 500.00, 1, '৫টি কোর্সে অ্যাক্সেস,সার্টিফিকেট,ইমেইল সাপোর্ট', 0),
('স্ট্যান্ডার্ড প্যাকেজ', 'Standard Package', 1000.00, 3, '১৫টি কোর্সে অ্যাক্সেস,সার্টিফিকেট,লাইভ ক্লাস,ইমেইল সাপোর্ট', 1),
('প্রিমিয়াম প্যাকেজ', 'Premium Package', 2000.00, 12, 'সকল কোর্সে অ্যাক্সেস,সার্টিফিকেট,লাইভ ক্লাস,প্রায়োরিটি সাপোর্ট,ইন্টার্নশিপ', 0);

-- Default admin (password: admin123)
INSERT INTO `users` (`full_name`, `email`, `password`, `role`) VALUES
('অ্যাডমিন', 'admin@banglalms.com', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'admin');

-- Sample instructor (password: 123456)
INSERT INTO `users` (`full_name`, `email`, `password`, `role`, `bio`) VALUES
('রাফি আহমেদ', 'rafi@banglalms.com', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'instructor', '১০ বছরের অভিজ্ঞতা সম্পন্ন ওয়েব ডেভেলপার। PHP, Laravel, এবং React বিশেষজ্ঞ।');

-- Sample courses
INSERT INTO `courses` (`category_id`, `instructor_id`, `title_bn`, `title_en`, `slug`, `description_bn`, `price`, `duration`, `level`) VALUES
(1, 2, 'সম্পূর্ণ ওয়েব ডেভেলপমেন্ট কোর্স', 'Complete Web Development Course', 'complete-web-development', 'এই কোর্সে আপনি HTML, CSS, JavaScript, PHP, এবং MySQL শিখবেন। শুরু থেকে অ্যাডভান্সড লেভেল পর্যন্ত সম্পূর্ণ গাইডলাইন।', 5000.00, '৪ মাস', 'beginner'),
(1, 2, 'PHP এবং Laravel মাস্টারক্লাস', 'PHP and Laravel Masterclass', 'php-laravel-masterclass', 'PHP এবং Laravel ফ্রেমওয়ার্ক দিয়ে প্রফেশনাল ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্ট শিখুন।', 8000.00, '৩ মাস', 'intermediate'),
(2, 2, 'Adobe Illustrator সম্পূর্ণ গাইড', 'Adobe Illustrator Complete Guide', 'adobe-illustrator-guide', 'Adobe Illustrator দিয়ে প্রফেশনাল গ্রাফিক ডিজাইন শিখুন। লোগো, ব্যানার, এবং ভেক্টর আর্ট তৈরি করুন।', 3000.00, '২ মাস', 'beginner');

-- Sample lessons for course 1
INSERT INTO `lessons` (`course_id`, `title_bn`, `title_en`, `youtube_url`, `order_number`, `is_free`) VALUES
(1, 'ওয়েব ডেভেলপমেন্ট পরিচিতি', 'Introduction to Web Development', 'https://www.youtube.com/watch?v=qz0aGYrrlhU', 1, 1),
(1, 'HTML বেসিক ট্যাগ', 'HTML Basic Tags', 'https://www.youtube.com/watch?v=UB1O30fR-EE', 2, 0),
(1, 'CSS স্টাইলিং বেসিক', 'CSS Styling Basics', 'https://www.youtube.com/watch?v=yfoY53QXEnI', 3, 0),
(1, 'JavaScript ফান্ডামেন্টাল', 'JavaScript Fundamentals', 'https://www.youtube.com/watch?v=W6NZfCO5SIk', 4, 0);

-- Sample quizzes for lesson 2
INSERT INTO `quizzes` (`lesson_id`, `question_bn`, `question_en`, `option_a`, `option_b`, `option_c`, `option_d`, `correct_answer`) VALUES
(2, 'HTML এর পূর্ণরূপ কী?', 'What is the full form of HTML?', 'Hyper Text Markup Language', 'High Tech Modern Language', 'Hyper Transfer Markup Language', 'Home Tool Markup Language', 'a'),
(2, 'HTML এ প্যারাগ্রাফ তৈরি করতে কোন ট্যাগ ব্যবহার করা হয়?', 'Which tag is used to create paragraph in HTML?', '<para>', '<p>', '<paragraph>', '<pg>', 'b');