npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

apisika

v1.2.0

Published

Wrapper API tidak resmi untuk SIKA Unindra. Memudahkan interaksi dengan data akademik, keuangan, dan chat.

Readme

apisika

Sebuah wrapper API tidak resmi dalam bentuk library JavaScript/Node.js untuk berinteraksi dengan Sistem Informasi Akademik (SIKA) Universitas Indraprasta PGRI (Unindra).

Library ini menyederhanakan proses otentikasi dan pengambilan data dari API SIKA, termasuk data akademik, keuangan, jadwal, hingga fungsionalitas chat.

Creator: dandisubhani_


Instalasi

Gunakan NPM untuk menginstal paket ini:

npm install apisika

Penggunaan Dasar

Berikut adalah contoh cara menggunakan library ini. Anda perlu mengimpor kelas SikaApi dan membuat instance-nya.

// Gunakan require untuk CommonJS
const SikaApi = require('apisika');

// Buat instance baru dari SikaApi
const api = new SikaApi();

// Buat fungsi async untuk menjalankan proses
async function main() {
  try {
    // 1. Lakukan login dengan NPM dan password Anda
    const loginData = await api.login('NPM_ANDA', 'PASSWORD_ANDA');
    console.log('Login berhasil untuk:', loginData.userInfo.name);

    // Setelah login berhasil, token akan disimpan dan digunakan secara otomatis
    // untuk semua permintaan selanjutnya.

    // 2. Contoh mengambil biodata singkat
    const biodata = await api.getBiodataSingkat();
    console.log('--- Biodata Singkat ---');
    console.log(biodata);

    // 3. Contoh mengambil jadwal kuliah untuk semester tertentu
    const jadwalKuliah = await api.getJadwalKuliah({ tahun: '2023', semester: '1' });
    console.log('\n--- Jadwal Kuliah (2023/1) ---');
    console.log(jadwalKuliah);

    // 4. Contoh mengambil riwayat pembayaran
    const riwayatBayar = await api.getRiwayatPembayaran();
    console.log('\n--- Riwayat Pembayaran ---');
    console.log(riwayatBayar);

  } catch (error) {
    // Tangani error jika terjadi
    console.error('Terjadi kesalahan:', error.message);
  }
}

// Jalankan fungsi utama
main();

Daftar Metode yang Tersedia

Setelah login, Anda dapat menggunakan metode-metode berikut:

Informasi Pengguna

  • getUserInfo()
  • getBiodataSingkat()
  • getBiodataLengkap()

Akademik

  • getAkademikDashboard()
  • getTranskrip()
  • getPresensiUjian({ tahun, semester })

Jadwal

  • getJadwalKuliah({ tahun, semester })
  • getJadwalUjian({ tahun, semester, jenis }) (jenis: 'UAS' atau 'UPM')

Keuangan

  • getRiwayatPembayaran()
  • getRekapPembayaran()
  • getBiayaKuliah()

Download

  • downloadKartuUjian({ tahun, semester, jenis }): Mengembalikan stream PDF.

Chat (WebSocket)

  • getConversations()
  • getChatHistoryByNpm(npm)
  • searchChatUser(searchQuery)
  • sendMessageByNpm(npm, messageText)
  • uploadFileToChat(npm, fileBuffer, fileName, caption)

Disclaimer

Ini adalah proyek tidak resmi dan tidak berafiliasi dengan Unindra. Gunakan dengan risiko Anda sendiri.