diff --git a/src/app/controllers/episode/get_episode.php b/src/app/controllers/episode/get_episode.php
new file mode 100644
index 0000000000000000000000000000000000000000..68404e4f03a8beda7991b9d0e0be962c382506c9
--- /dev/null
+++ b/src/app/controllers/episode/get_episode.php
@@ -0,0 +1,21 @@
+<?php
+
+class GetEpisodeController
+{
+  public function call()
+  {
+    header("Access-Control-Allow-Origin: *");
+    header('Access-Control-Allow-Credentials: true');
+    header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
+
+    $episodeModel = new EpisodeModel();
+
+    $episode = $episodeModel->getById($_GET["idEpisode"]);
+
+    http_response_code(200);
+    header("Content-Type: application/json");
+    echo json_encode(["episode" => $episode]);
+
+    return;
+  }
+}
diff --git a/src/app/controllers/login/post_login.php b/src/app/controllers/login/post_login.php
index a5d8afab3816c5df95ed2cb303c5f9623d24f73a..34a737cfb66ca8f068caa817cec4dd4135d944f7 100644
--- a/src/app/controllers/login/post_login.php
+++ b/src/app/controllers/login/post_login.php
@@ -23,7 +23,7 @@ class PostLoginController
                 } else {
                     if (password_verify($password, $user['password'])) {
                         $_SESSION["start"] = time();
-                        $_SESSION["expire"] = time() + 60 * 600;
+                        $_SESSION["expire"] = time() + 60 * 50;
                         $_SESSION["user_id"] = $user['id_user'];
 
                         $SOAP_PHP_KEY = "ularmelingkardiataspagar";
diff --git a/src/app/controllers/podcast/get_podcast.php b/src/app/controllers/podcast/get_podcast.php
new file mode 100644
index 0000000000000000000000000000000000000000..d118dbd3e23092a365ab27dc4da0a06423498358
--- /dev/null
+++ b/src/app/controllers/podcast/get_podcast.php
@@ -0,0 +1,21 @@
+<?php
+
+class GetPodcastController {
+  public function call() {
+    header("Access-Control-Allow-Origin: *");
+    header('Access-Control-Allow-Credentials: true');
+    header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
+
+    $podcastModel = new PodcastModel();
+    $episodeModel = new EpisodeModel();
+
+    $podcast = $podcastModel->getById($_GET["idPodcast"]);
+    $episodes = $episodeModel->getAllPodcastEpisodes($_GET["idPodcast"]);
+
+    http_response_code(200);
+    header("Content-Type: application/json");
+    echo json_encode(["podcast" => $podcast, "episodes" => $episodes]);
+
+    return;
+  }
+}
\ No newline at end of file
diff --git a/src/app/controllers/podcast/get_random_podcast.php b/src/app/controllers/podcast/get_random_podcast.php
new file mode 100644
index 0000000000000000000000000000000000000000..fcc7246df10bdb360df6ff3a7eded8d6dd7bc286
--- /dev/null
+++ b/src/app/controllers/podcast/get_random_podcast.php
@@ -0,0 +1,17 @@
+<?php
+
+class GetRandomPodcastController
+{
+  public function call()
+  {
+    $podcastModel = new PodcastModel();
+
+    $podcasts = $podcastModel->getRandom($_GET["category"]);
+
+    http_response_code(200);
+    header("Content-Type: application/json");
+    echo json_encode(["podcasts" => $podcasts]);
+
+    return;
+  }
+}
diff --git a/src/app/core/app.php b/src/app/core/app.php
index ce496c4d9a8889af932b456a332ea143720b0993..cd06729b17afa0e5a1bb7bc9f327761deef7bd34 100644
--- a/src/app/core/app.php
+++ b/src/app/core/app.php
@@ -47,6 +47,10 @@ class App
     $router->get("public/components/player", new MountPlayerController());
     $router->get("public/player/episode", new GetEpisodePlayed());
 
+    $router->get("public/podcast-by-id", new GetPodcastController());
+    $router->get("public/episode-by-id", new GetEpisodeController());
+    $router->get("public/random-podcast", new GetRandomPodcastController());
+
     // POST routes
     $router->post("public/logout", new LogoutController());
     $router->post("public/login", new PostLoginController());
diff --git a/src/app/database/mysql/old_init.sql b/src/app/database/mysql/old_init.sql
deleted file mode 100644
index f4e27256323a97abd6dce13dc95b542184515c3a..0000000000000000000000000000000000000000
--- a/src/app/database/mysql/old_init.sql
+++ /dev/null
@@ -1,634 +0,0 @@
-CREATE TABLE user (
-  id_user INT PRIMARY KEY AUTO_INCREMENT,
-  name VARCHAR(50),
-  username VARCHAR(50) UNIQUE NOT NULL,
-  password VARCHAR(255) NOT NULL,
-  url_profpic VARCHAR(100),
-  is_admin BOOLEAN DEFAULT false
-);
-CREATE TABLE podcast (
-  id_podcast INT PRIMARY KEY AUTO_INCREMENT,
-  title VARCHAR(50),
-  url_thumbnail VARCHAR(100),
-  description VARCHAR(1000),
-  category VARCHAR(50),
-  id_user INT NOT NULL,
-  FOREIGN KEY (id_user) REFERENCES user(id_user) ON DELETE CASCADE
-);
-CREATE TABLE episode (
-  id_episode INT PRIMARY KEY AUTO_INCREMENT,
-  title VARCHAR(50),
-  description VARCHAR(1000),
-  url_thumbnail VARCHAR(100),
-  url_audio VARCHAR(100),
-  id_podcast INT NOT NULL,
-  FOREIGN KEY (id_podcast) REFERENCES podcast(id_podcast) ON DELETE CASCADE
-);
-CREATE TABLE playlist (
-  id_playlist INT PRIMARY KEY AUTO_INCREMENT,
-  title VARCHAR(50),
-  id_user INT NOT NULL,
-  FOREIGN KEY (id_user) REFERENCES user(id_user) ON DELETE CASCADE
-);
-CREATE TABLE podcast_x_playlist (
-  id_playlist INT,
-  id_podcast INT,
-  PRIMARY KEY (id_playlist, id_podcast),
-  FOREIGN KEY (id_playlist) REFERENCES playlist(id_playlist) ON DELETE CASCADE,
-  FOREIGN KEY (id_podcast) REFERENCES podcast(id_podcast) ON DELETE CASCADE
-);
--- DUMMY USER
-INSERT INTO user (
-    name,
-    username,
-    password,
-    url_profpic,
-    is_admin
-  )
-VALUES (
-    "Penggendong Handal",
-    "test_user",
-    "ini_password",
-    "/images/default-profpic.jpeg",
-    0
-  );
-INSERT INTO user (
-    name,
-    username,
-    password,
-    url_profpic,
-    is_admin
-  )
-VALUES (
-    "Podcaster Handal",
-    "podcaster_handal",
-    "12345",
-    "/images/default-profpic.jpeg",
-    1
-  );
-INSERT INTO user (
-    name,
-    username,
-    password,
-    url_profpic,
-    is_admin
-  )
-VALUES (
-    "Coach Handal",
-    "coach_handal",
-    "12345",
-    "/images/default-profpic.jpeg",
-    1
-  );
--- DUMMY PODCAST
-INSERT INTO podcast (
-    title,
-    url_thumbnail,
-    description,
-    category,
-    id_user
-  )
-VALUES (
-    "Nama Podcast",
-    "/images/sample-podcast.jpeg",
-    "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-    "comedy",
-    2
-  );
-INSERT INTO podcast (
-    title,
-    url_thumbnail,
-    description,
-    category,
-    id_user
-  )
-VALUES (
-    "Nama Podcast",
-    "/images/sample-podcast.jpeg",
-    "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-    "comedy",
-    2
-  );
-INSERT INTO podcast (
-    title,
-    url_thumbnail,
-    description,
-    category,
-    id_user
-  )
-VALUES (
-    "Nama Podcast",
-    "/images/sample-podcast.jpeg",
-    "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-    "comedy",
-    2
-  );
-INSERT INTO podcast (
-    title,
-    url_thumbnail,
-    description,
-    category,
-    id_user
-  )
-VALUES (
-    "Nama Podcast",
-    "/images/sample-podcast.jpeg",
-    "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-    "comedy",
-    2
-  );
-INSERT INTO podcast (
-    title,
-    url_thumbnail,
-    description,
-    category,
-    id_user
-  )
-VALUES (
-    "Nama Podcast",
-    "/images/sample-podcast.jpeg",
-    "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-    "technology",
-    2
-  );
-INSERT INTO podcast (
-    title,
-    url_thumbnail,
-    description,
-    category,
-    id_user
-  )
-VALUES (
-    "Nama Podcast",
-    "/images/sample-podcast.jpeg",
-    "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-    "technology",
-    2
-  );
-INSERT INTO podcast (
-    title,
-    url_thumbnail,
-    description,
-    category,
-    id_user
-  )
-VALUES (
-    "Nama Podcast",
-    "/images/sample-podcast.jpeg",
-    "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-    "technology",
-    2
-  );
-INSERT INTO podcast (
-    title,
-    url_thumbnail,
-    description,
-    category,
-    id_user
-  )
-VALUES (
-    "Nama Podcast",
-    "/images/sample-podcast.jpeg",
-    "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-    "technology",
-    2
-  );
-INSERT INTO podcast (
-    title,
-    url_thumbnail,
-    description,
-    category,
-    id_user
-  )
-VALUES (
-    "Halo Halo Bandung",
-    "/images/sample-podcast.jpeg",
-    "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-    "technology",
-    2
-  );
-INSERT INTO podcast (
-    title,
-    url_thumbnail,
-    description,
-    category,
-    id_user
-  )
-VALUES (
-    "How to conquer wbd",
-    "/images/sample-podcast.jpeg",
-    "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-    "self improvement",
-    2
-  );
-INSERT INTO podcast (
-    title,
-    url_thumbnail,
-    description,
-    category,
-    id_user
-  )
-VALUES (
-    "serba serbi Informatika",
-    "/images/sample-podcast.jpeg",
-    "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-    "self improvement",
-    2
-  );
-INSERT INTO podcast (
-    title,
-    url_thumbnail,
-    description,
-    category,
-    id_user
-  )
-VALUES (
-    "Nama Podcast",
-    "/images/sample-podcast.jpeg",
-    "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-    "self improvement",
-    2
-  );
-INSERT INTO podcast (
-    title,
-    url_thumbnail,
-    description,
-    category,
-    id_user
-  )
-VALUES (
-    "Nama Podcast",
-    "/images/sample-podcast.jpeg",
-    "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-    "self improvement",
-    2
-  );
-INSERT INTO podcast (
-    title,
-    url_thumbnail,
-    description,
-    category,
-    id_user
-  )
-VALUES (
-    "Nama Podcast",
-    "/images/sample-podcast.jpeg",
-    "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-    "self improvement",
-    2
-  );
-INSERT INTO podcast (
-    title,
-    url_thumbnail,
-    description,
-    category,
-    id_user
-  )
-VALUES (
-    "Nama Podcast",
-    "/images/sample-podcast.jpeg",
-    "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-    "self improvement",
-    2
-  );
-INSERT INTO podcast (
-    title,
-    url_thumbnail,
-    description,
-    category,
-    id_user
-  )
-VALUES (
-    "Nama Podcast",
-    "/images/sample-podcast.jpeg",
-    "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-    "sports",
-    3
-  );
-INSERT INTO podcast (
-    title,
-    url_thumbnail,
-    description,
-    category,
-    id_user
-  )
-VALUES (
-    "Nama Podcast",
-    "/images/sample-podcast.jpeg",
-    "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-    "sports",
-    3
-  );
-INSERT INTO podcast (
-    title,
-    url_thumbnail,
-    description,
-    category,
-    id_user
-  )
-VALUES (
-    "Nama Podcast",
-    "/images/sample-podcast.jpeg",
-    "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-    "sports",
-    3
-  );
-INSERT INTO podcast (
-    title,
-    url_thumbnail,
-    description,
-    category,
-    id_user
-  )
-VALUES (
-    "Nama Podcast",
-    "/images/sample-podcast.jpeg",
-    "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-    "sports",
-    3
-  );
-INSERT INTO podcast (
-    title,
-    url_thumbnail,
-    description,
-    category,
-    id_user
-  )
-VALUES (
-    "Nama Podcast",
-    "/images/sample-podcast.jpeg",
-    "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-    "sports",
-    3
-  );
-INSERT INTO podcast (
-    title,
-    url_thumbnail,
-    description,
-    category,
-    id_user
-  )
-VALUES (
-    "Nama Podcast",
-    "/images/sample-podcast.jpeg",
-    "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-    "sports",
-    3
-  );
-INSERT INTO podcast (
-    title,
-    url_thumbnail,
-    description,
-    category,
-    id_user
-  )
-VALUES (
-    "Nama Podcast",
-    "/images/sample-podcast.jpeg",
-    "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-    "sports",
-    3
-  );
-INSERT INTO podcast (
-    title,
-    url_thumbnail,
-    description,
-    category,
-    id_user
-  )
-VALUES (
-    "Nama Podcast",
-    "/images/sample-podcast.jpeg",
-    "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-    "sports",
-    3
-  );
-INSERT INTO podcast (
-    title,
-    url_thumbnail,
-    description,
-    category,
-    id_user
-  )
-VALUES (
-    "Nama Podcast",
-    "/images/sample-podcast.jpeg",
-    "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-    "sports",
-    3
-  );
-
-INSERT INTO episode (
-  title,
-  description,
-  url_thumbnail,
-  url_audio,
-  id_podcast
-)
-VALUES (
-  "Ini tuh episode 1",
-  "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-  "/images/episode.jpeg",
-  "episodes/audiotester.mp3",
-  1
-);
-INSERT INTO episode (
-  title,
-  description,
-  url_thumbnail,
-  url_audio,
-  id_podcast
-)
-VALUES (
-  "Ini tuh episode 1",
-  "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-  "/images/episode.jpeg",
-  "episodes/audiotester.mp3",
-  1
-);
-INSERT INTO episode (
-  title,
-  description,
-  url_thumbnail,
-  url_audio,
-  id_podcast
-)
-VALUES (
-  "Ini tuh episode 1",
-  "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-  "/images/episode.jpeg",
-  "episodes/audiotester.mp3",
-  1
-);
-INSERT INTO episode (
-  title,
-  description,
-  url_thumbnail,
-  url_audio,
-  id_podcast
-)
-VALUES (
-  "Ini tuh episode 1",
-  "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-  "/images/episode.jpeg",
-  "episodes/audiotester.mp3",
-  1
-);
-INSERT INTO episode (
-  title,
-  description,
-  url_thumbnail,
-  url_audio,
-  id_podcast
-)
-VALUES (
-  "Ini tuh episode 1",
-  "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-  "/images/episode.jpeg",
-  "episodes/audiotester.mp3",
-  1
-);
-INSERT INTO episode (
-  title,
-  description,
-  url_thumbnail,
-  url_audio,
-  id_podcast
-)
-VALUES (
-  "Ini tuh episode 1",
-  "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-  "/images/episode.jpeg",
-  "episodes/audiotester.mp3",
-  1
-);
-INSERT INTO episode (
-  title,
-  description,
-  url_thumbnail,
-  url_audio,
-  id_podcast
-)
-VALUES (
-  "Ini tuh episode 1",
-  "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-  "/images/episode.jpeg",
-  "episodes/audiotester.mp3",
-  1
-);
-INSERT INTO episode (
-  title,
-  description,
-  url_thumbnail,
-  url_audio,
-  id_podcast
-)
-VALUES (
-  "Ini tuh episode 1",
-  "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-  "/images/episode.jpeg",
-  "episodes/audiotester.mp3",
-  1
-);
-INSERT INTO episode (
-  title,
-  description,
-  url_thumbnail,
-  url_audio,
-  id_podcast
-)
-VALUES (
-  "Ini tuh episode 1",
-  "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-  "/images/episode.jpeg",
-  "episodes/audiotester.mp3",
-  2
-);
-INSERT INTO episode (
-  title,
-  description,
-  url_thumbnail,
-  url_audio,
-  id_podcast
-)
-VALUES (
-  "Ini tuh episode 2",
-  "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-  "/images/episode.jpeg",
-  "episodes/audiotester.mp3",
-  2
-);
-INSERT INTO episode (
-  title,
-  description,
-  url_thumbnail,
-  url_audio,
-  id_podcast
-)
-VALUES (
-  "Ini tuh episode 2",
-  "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-  "/images/episode.jpeg",
-  "episodes/audiotester.mp3",
-  2
-);
-INSERT INTO episode (
-  title,
-  description,
-  url_thumbnail,
-  url_audio,
-  id_podcast
-)
-VALUES (
-  "Ini tuh episode 2",
-  "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-  "/images/episode.jpeg",
-  "episodes/audiotester.mp3",
-  2
-);
-INSERT INTO episode (
-  title,
-  description,
-  url_thumbnail,
-  url_audio,
-  id_podcast
-)
-VALUES (
-  "Ini tuh episode 2",
-  "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-  "/images/episode.jpeg",
-  "episodes/audiotester.mp3",
-  2
-);
-INSERT INTO episode (
-  title,
-  description,
-  url_thumbnail,
-  url_audio,
-  id_podcast
-)
-VALUES (
-  "Ini tuh episode 2",
-  "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-  "/images/episode.jpeg",
-  "episodes/audiotester.mp3",
-  2
-);
-INSERT INTO episode (
-  title,
-  description,
-  url_thumbnail,
-  url_audio,
-  id_podcast
-)
-VALUES (
-  "Ini tuh episode 2",
-  "Ini adalah contoh teks deskripsi dummy yang dibuat oleh ChatGPT. Teks ini mengilustrasikan kemampuan model dalam menghasilkan teks deskripsi dengan panjang yang lebih besar. ChatGPT adalah AI canggih yang dirancang untuk memberikan informasi, menyelesaikan masalah, dan memberikan panduan dalam berbagai topik.",
-  "/images/episode.jpeg",
-  "episodes/audiotester.mp3",
-  2
-);
-
-
-
-
diff --git a/src/app/init.php b/src/app/init.php
index 21ea7846f06eb184e125686c05d4390d1f1eb70b..dfd58a91481702ad21240a6c33d0d84716a7e8b0 100644
--- a/src/app/init.php
+++ b/src/app/init.php
@@ -52,6 +52,10 @@ require_once __DIR__ . "/controllers/player/get_episode_played.php";
 require_once __DIR__ . "/controllers/app/app_controller.php";
 require_once __DIR__ . "/controllers/seed/post_seed.php";
 
+require_once __DIR__ . "/controllers/podcast/get_podcast.php";
+require_once __DIR__ . "/controllers/episode/get_episode.php";
+require_once __DIR__ . "/controllers/podcast/get_random_podcast.php";
+
 require_once __DIR__ . "/models/podcast.php";
 require_once __DIR__ . "/models/episode.php";
 require_once __DIR__ . "/models/user.php";
diff --git a/src/app/models/podcast.php b/src/app/models/podcast.php
index 56da4b0ef5b9bb5b6edad8dbac9c15033b8983d8..8b906dfb4ad276f0aa9617a5b9134ef88eb4f2cd 100644
--- a/src/app/models/podcast.php
+++ b/src/app/models/podcast.php
@@ -35,12 +35,12 @@ class PodcastModel
         $epsMax = "999999999";
         break;
     };
-      
+
     //sort
     switch ($sort) {
       case "alphabetical":
         $query =
-        "SELECT p.id_podcast, p.title, p.category, p.url_thumbnail, p.description, u.name
+          "SELECT p.id_podcast, p.title, p.category, p.url_thumbnail, p.description, u.name
         FROM podcast AS p
         NATURAL JOIN user AS u
         LEFT JOIN episode AS e ON p.id_podcast = e.id_podcast
@@ -54,7 +54,7 @@ class PodcastModel
         break;
       case "date joined":
         $query =
-        "SELECT p.id_podcast, p.title, p.category, p.url_thumbnail, p.description, u.name
+          "SELECT p.id_podcast, p.title, p.category, p.url_thumbnail, p.description, u.name
         FROM podcast AS p
         NATURAL JOIN user AS u
         LEFT JOIN episode AS e ON p.id_podcast = e.id_podcast
@@ -68,7 +68,7 @@ class PodcastModel
         break;
       default:
         $query =
-        "SELECT p.id_podcast, p.title, p.category, p.url_thumbnail, p.description, u.name
+          "SELECT p.id_podcast, p.title, p.category, p.url_thumbnail, p.description, u.name
         FROM podcast AS p
         NATURAL JOIN user AS u
         LEFT JOIN episode e ON e.id_podcast=p.id_podcast 
@@ -81,14 +81,14 @@ class PodcastModel
         ";
         break;
     };
-    
+
 
     $this->db->query($query);
 
     $this->db->bind("search_value", '%' . $keyword . '%');
     $this->db->bind("epsMin", $epsMin);
     $this->db->bind("epsMax", $epsMax);
-    $this->db->bind("genre", $genre==""?'%':$genre);
+    $this->db->bind("genre", $genre == "" ? '%' : $genre);
     $podcasts = $this->db->fetchAll();
     return $podcasts;
   }
@@ -213,4 +213,39 @@ class PodcastModel
 
     $this->db->execute();
   }
+
+  public function getRandom($category)
+  {
+    $query = "";
+    switch ($category) {
+      case "technology":
+        $query = "
+          SELECT id_podcast AS idpodcast, title, description, url_thumbnail AS imageurl FROM podcast
+          WHERE category = 'technology'
+          ORDER BY RAND()
+          LIMIT 2;
+        ";
+        break;
+      case "horror":
+        $query = "
+            SELECT id_podcast AS idpodcast, title, description, url_thumbnail AS imageurl FROM podcast
+            WHERE category = 'horror'
+            ORDER BY RAND()
+            LIMIT 2;
+          ";
+        break;
+      case "comedy":
+        $query = "
+              SELECT id_podcast AS idpodcast, title, description, url_thumbnail AS imageurl FROM podcast
+              WHERE category = 'comedy'
+              ORDER BY RAND()
+              LIMIT 2;
+            ";
+        break;
+    }
+
+    $this->db->query($query);
+    $podcast = $this->db->fetchAll();
+    return $podcast;
+  }
 }