reacto11mecha / project-kalian-scraper

Scraper readme yang mengambil data dari https://github.com/sandhikagalih/project-kalian

Home Page:https://api.project-kalian.rmecha.my.id/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Project Kalian API

Ini adalah sebuah project yang mengolah file README.md dari repositori https://github.com/sandhikagalih/project-kalian dari masing-masing branch menjadi data json yang berisikan list-list project yang sudah di showcase di channel youtube Web Programming UNPAS. Selain data JSON, terdapat gambar screenshot berdasarkan link yang dicantumkan berdasar project yang di showcase.

Terdapat otomasi github action yang akan memperbarui list setiap hari sabtu jam 19:30.

Daftar Endpoint

Schema zod

Project ini menggunakan zod sebagai validator, sangat membantu jika mengonsumsi API menggunakan TypeScript maupun menggunakan JavaScript hanya untuk validasi format data yang diterima.

Format /all.json:

const z = require("zod");

const allJson = z.object({
  fetched_at: z.date(),
  data: z.array(
    z.object({
      season: z.string(),
      dates: z.array(
        z.object({
          date: z.string(),
          projects: z.array(
            z.object({
              link: z.string().url(),
              username: z.string(),
              message: z.string(),
              image: z.string(),
            })
          ),
        })
      ),
    })
  ),
});

Format /projects-by-*.json:

const z = require("zod");

const byProjects = z.object({
  fetched_at: z.date(),
  data: z.array(
    z.object({
      season: z.string(),
      showcaseDate: z.string(),
      projectLink: z.string(),
      projectIdx: z.number(),
      username: z.string(),
      message: z.string(),
      image: z.string(),
    })
  ),
});

Local Development

  1. Clone repositori ini.
  2. Install dependensi yang diperlulkan menggunakan pnpm install.
  3. Menjalankan scraper menggunakan pnpm start.

About

Scraper readme yang mengambil data dari https://github.com/sandhikagalih/project-kalian

https://api.project-kalian.rmecha.my.id/

License:MIT License


Languages

Language:JavaScript 100.0%