Download the PHP package dimasahmad/dapodik-sdk without Composer
On this page you can find all versions of the php package dimasahmad/dapodik-sdk. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download dimasahmad/dapodik-sdk
More information about dimasahmad/dapodik-sdk
Files in dimasahmad/dapodik-sdk
Package dapodik-sdk
Short Description Unofficial Dapodik SDK
License MIT
Homepage https://github.com/dimasahmad/dapodik-sdk
Informations about the package dapodik-sdk
Dapodik SDK
⚰️ DEPRECATED Project ini telah dihentikan dan tidak akan mendapatkan support dan update apapun di kemudian hari.
Unofficial Dapodik SDK untuk mengakses API yang tersedia dalam aplikasi Dapodik.
Developer dapat mengakses secara langsung API Dapodik menggunakan client HTTP dan JSON jika mereka menginginkannya. Jika Anda ingin langsung mengakses data API Dapodik, SDK ini memberikan Anda beberapa kemudahan:
- Less code: Anda tidak perlu dipusingkan dengan HTTP logic untuk memulai
- SDK ini menyediakan kumpulan object yang dapat Anda gunakan untuk mengakses data tanpa perlu bekerja langsung dengan JSON, dan dengan penamaan yang lebih predictable serta konsisten
- Lapisan tambahan penanganan error, tipe data yang lebih ketat, dan default values cerdas untuk membatu debugging aplikasi Anda
Semua model yang tersedia dibuat berdasarkan hasil analisis manual data Dapodik sebuah sekolah negeri. (Semoga pengembang aplikasi Dapodik dapat menerbitkan dokumentasi atau bahkan spesifikasi OpenAPI atau standar metadata API lainnya agar akses API menjadi lebih mudah bagi developer serta semua model dapat digenerate secara otomatis.)
Terdapat dua endpoint yang tersedia dalam SDK ini:
- WebService http://localhost:5774/WebService/
- REST http://localhost:5774/rest/ (baru tersedia otentikasinya saja, model belum dibuat)
Library ini masih dalam pengembangan ekstensif dan akan menghadirkan breaking changes pada versi-versi berikutnya.
Installation
Library ini dapat dipasang menggunakan Composer:
PHP >=7.4 harus terpasang untuk menjalankan library ini. Tidak ada rencana untuk mendukung versi sebelumnya.
Memulai
WebService Endpoint
Sebelum Anda dapat mengakses endpoint WebService, Anda harus mendaftarkan aplikasi Anda melalui halaman Pengaturan -> WebService di dalam aplikasi Dapodik sekolah Anda. Pastikan setting IP sesuai dengan komputer yang akan melakukan koneksi dengan server Dapodik.
Rest Endpoint
Gunakan akun operator sebagai parameter otentikasi.
Implementasi model untuk Rest Endpoint masih dalam proses pengembangan (analisis manual memakan waktu dan usaha yang sangat besar 😩).
Anda dapat melakukan request menggunakan method yang tersedia melalui Rest->client->request($method, $uri), dan proses sendiri response JSON yang didapatkan.
Pengembangan
Debugging
Anda dapat menggunakan library ini dengan proxy seperti Fiddler atau Charles Proxy untuk debugging request dan response ketika mereka melewati jaringan. Gunakan setProxyPort
pada objek Auth seperti berikut:
Kemudian buka client proxy Anda untuk melihat request dan response yang dikirim menggunakan library ini.
Ini akan sangat membantu ketika library ini tidak memberikan hasil yang Anda harapkan untuk menentukan apakah terdapat bug pada API atau SDK ini. Oleh karena itu, Anda mungkin diminta untuk memberikan informasi ini ketika mencoba melakukan triase masalah yang Anda ajukan.
Tests
Unit testing belum diterapkan, namun akan menjadi prioritas tinggi dalam milestone pengembangan versi selanjutnya.
Selain unit testing, functional testing juga akan dibuat.
Dokumentasi
TODO
- [x] WebService Endpoint (/WebService)
- [x] Otentikasi menggunakan bearer token
- [x] Pemetaan model dengan setiap property
- [x] /getSekolah
- [x] /getGtk
- [x] /getPesertaDidik
- [x] /getPengguna
- [x] /getRombonganBelajar
- [ ] Rest Endpoint (/rest)
- [x] Otentikasi menggunakan form login dan cookies
- [ ] Pemetaan model untuk setiap API call
- [ ] Model Enum untuk data referensi (mis: jenis kelamin, agama, status sekolah, mata pelajaran, dsb.) agar aplikasi mengetahui kumpulan nilai data yang tersedia pada sebuah property
- [ ] Dokumentasi untuk setiap method yang tersedia
- [ ] Unit testing
- [ ] Functional testing
- [ ] Continuous integration
- [x] Implementasi proxy untuk memudahkan debug request dan response menggunakan aplikasi HTTP debugging seperti Fiddler atau Charles Proxy
Kontribusi
Saya menerima kontribusi untuk library ini. CONTRIBUTING.md akan membantu sebelum Anda mulai berkontribusi.
Lisensi
Copyright (c) 2020 Dimas Ahmad Eka Putra. All Rights Reserved.
Library ini menggunakan lisensi MIT. Lihat file LICENCE untuk detail lebih lanjut.