<?php

namespace Database\Seeders;

use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;

use App\Models\Schedule;

use Faker\Factory as Faker;

class ScheduleSeeder extends Seeder
{
  /**
   * Run the database seeds.
   */
  public function run(): void
  {
    // Cantonese Language Course
    Schedule::factory()->create([
      'subject' => 'Cantonese Language Course',
      'day' => 14,
      'startTime' => '2023-01-01',
      'endTime' => '2023-01-15',
      'description' =>
        'This course teaches students how to speak and write in Cantonese, one of the most widely spoken Chinese dialects. Students will learn basic grammar, vocabulary, and pronunciation to communicate effectively in everyday situations.',
    ]);

    // Chinese History Course
    Schedule::factory()->create([
      'subject' => 'Chinese History Course',
      'day' => 14,
      'startTime' => '2023-01-29',
      'endTime' => '2023-02-12',
      'description' =>
        'This course explores the rich history and culture of China, from ancient times to present day. Students will study key events, notable figures, and important cultural practices that have shaped Chinese society.',
    ]);

    // Mathematics Course
    Schedule::factory()->create([
      'subject' => 'Mathematics Course',
      'day' => 14,
      'startTime' => '2023-02-26',
      'endTime' => '2023-03-12',
      'description' =>
        'This course covers a range of mathematical concepts and skills, including algebra, geometry, trigonometry, statistics, and calculus. Students will learn to apply mathematical reasoning and problem-solving techniques to real-world problems.',
    ]);

    // English Language Course
    Schedule::factory()->create([
      'subject' => 'English Language Course',
      'day' => 14,
      'startTime' => '2023-03-28',
      'endTime' => '2023-04-11',
      'description' =>
        'This course is designed to improve student\' eading, writing, listening, and speaking skills in English. Students will learn grammar, vocabulary, and communication strategies to become more confident and effective communicators in English-speaking environments.',
    ]);

    // Science Course
    Schedule::factory()->create([
      'subject' => 'Science Course',
      'day' => 14,
      'startTime' => '2023-04-25',
      'endTime' => '2023-05-09',
      'description' =>
        'This course introduces students to fundamental principles of biology, chemistry, physics, and earth science. Students will explore scientific concepts through hands-on experiments and activities, developing critical thinking and analytical skills.',
    ]);

    // Physical Education Course
    Schedule::factory()->create([
      'subject' => 'Physical Education Course',
      'day' => 14,
      'startTime' => '2023-05-23',
      'endTime' => '2023-06-05',
      'description' =>
        'This course emphasizes the importance of physical fitness and healthy lifestyle choices. Students will participate in a range of physical activities, sports, and exercises to improve their overall health and well-being.',
    ]);

    // Music Course
    Schedule::factory()->create([
      'subject' => 'Music Course',
      'day' => 14,
      'startTime' => '2023-06-19',
      'endTime' => '2023-07-03',
      'description' =>
        'This course offers an introduction to music theory, history, and performance. Students will learn to read music notation, play an instrument or sing, and appreciate different musical styles and genres.',
    ]);

    // Visual Art Course
    Schedule::factory()->create([
      'subject' => 'Visual Art Course',
      'day' => 14,
      'startTime' => '2023-07-17',
      'endTime' => '2023-07-31',
      'description' =>
        'This course focuses on developing student\' reativity and artistic skills through a range of mediums, including drawing, painting, sculpture, and digital design. Students will learn to express themselves visually and critique the work of others.',
    ]);

    // Information Technology Course
    Schedule::factory()->create([
      'subject' => 'Information Technology Course',
      'day' => 14,
      'startTime' => '2023-08-14',
      'endTime' => '2023-08-28',
      'description' =>
        'This course provides an overview of computer systems, hardware, and software. Students will learn to use common productivity tools such as word processors and spreadsheets, develop basic coding skills, and explore emerging technologies.',
    ]);

    // Geography Course
    Schedule::factory()->create([
      'subject' => 'Geography Course',
      'day' => 14,
      'startTime' => '2023-09-11',
      'endTime' => '2023-09-25',
      'description' =>
        'This course explores the physical and cultural landscapes of different regions around the world. Students will study topics such as climate, landforms, population, and economic activity, deepening their understanding of global issues.',
    ]);

    // Economics Course
    Schedule::factory()->create([
      'subject' => 'Economics Course',
      'day' => 14,
      'startTime' => '2023-10-09',
      'endTime' => '2023-10-23',
      'description' =>
        'This course introduces students to fundamental principles of economics, including supply and demand, market structures, and macroeconomic policy. Students will apply economic theory to real-world scenarios and analyze current economic events.',
    ]);

    // Chinese Literature Course
    Schedule::factory()->create([
      'subject' => 'Chinese Literature Course',
      'day' => 14,
      'startTime' => '2023-11-06',
      'endTime' => '2023-11-20',
      'description' =>
        'This course examines classical and modern works of Chinese literature, including poetry, prose, and drama. Students will analyze literary techniques and themes, and develop an appreciation for the richness and diversity of Chinese literary traditions.',
    ]);

    // Business Studies Course
    Schedule::factory()->create([
      'subject' => 'Business Studies Course',
      'day' => 14,
      'startTime' => '2023-12-04',
      'endTime' => '2023-12-18',
      'description' =>
        'This course offers an introduction to business concepts and practices, including management, marketing, finance, and entrepreneurship. Students will learn to apply key business principles to real-world scenarios and develop critical thinking and problem-solving skills.',
    ]);

    // Philosophy Course
    Schedule::factory()->create([
      'subject' => 'Philosophy Course',
      'day' => 14,
      'startTime' => '2024-01-01',
      'endTime' => '2024-01-15',
      'description' =>
        'This course explores fundamental questions about human existence and meaning, including topics such as ethics, metaphysics, and epistemology. Students will engage in critical analysis and debate of philosophical texts and ideas.',
    ]);

    // Sociology Course
    Schedule::factory()->create([
      'subject' => 'Sociology Course',
      'day' => 14,
      'startTime' => '2024-01-29',
      'endTime' => '2024-02-12',
      'description' =>
        'This course investigates social structures, institutions, and processes that shape human behavior and relationships. Students will study topics such as race, gender, class, and culture, and develop critical thinking and analytical skills.',
    ]);

    // Psychology Course
    Schedule::factory()->create([
      'subject' => 'Psychology Course',
      'day' => 14,
      'startTime' => '2024-02-26',
      'endTime' => '2024-03-11',
      'description' =>
        'This course offers an introduction to the science of human behavior and mental processes. Students will study topics such as motivation, emotion, cognition, perception, and personality, and apply psychological theories to real-world scenarios.',
    ]);

    // Media Studies Course
    Schedule::factory()->create([
      'subject' => 'Media Studies Course',
      'day' => 14,
      'startTime' => '2024-03-24',
      'endTime' => '2024-04-07',
      'description' =>
        'This course examines the role of media in shaping society and culture. Students will study topics such as media literacy, representation, and media effects, and develop critical analysis and communication skills.',
    ]);

    // Design and Technology Course
    Schedule::factory()->create([
      'subject' => 'Design and Technology Course',
      'day' => 14,
      'startTime' => '2024-04-21',
      'endTime' => '2024-05-05',
      'description' =>
        'This course offers an introduction to design principles and technology tools, including computer-aided design (CAD) software and 3D printing. Students will learn to apply design thinking to solve real-world problems and create functional prototypes.',
    ]);

    // Accounting Course
    Schedule::factory()->create([
      'subject' => 'Accounting Course',
      'day' => 14,
      'startTime' => '2024-05-19',
      'endTime' => '2024-06-02',
      'description' =>
        'This course provides an overview of financial accounting concepts and practices, including balance sheets, income statements, and cash flow analysis. Students will learn to interpret financial data and make informed business decisions.',
    ]);

    // Tourism and Hospitality Course
    Schedule::factory()->create([
      'subject' => 'Tourism and Hospitality Course',
      'day' => 14,
      'startTime' => '2024-06-15',
      'endTime' => '2024-06-29',
      'description' =>
        'This course explores the tourism and hospitality industry, including topics such as customer service, marketing, event planning, and hotel management. Students will develop practical skills and knowledge for a variety of career paths in this growing field.',
    ]);
  }
}
