Library API adalah sistem backend RESTful yang dikembangkan menggunakan Laravel 12 untuk mengelola perpustakaan digital. API ini menyediakan fungsionalitas untuk mengelola data buku, penulis, penerbit, kategori, dan sistem peminjaman.
Saya merancang dan mengimplementasikan seluruh arsitektur sistem, termasuk skema database, endpoint API, sistem otentikasi menggunakan Laravel Passport, serta dokumentasi API menggunakan Laravel Scramble dan Postman.
Okt 2025 - Okt 2025
Proyek Pribadi
Sistem Manajemen Perpustakaan
(Screnshot Laravel Scamble)
Fungsionalitas yang dikembangkan untuk sistem manajemen perpustakaan
Merancang skema database MySQL dengan tabel-tabel terrelasi untuk menyimpan data buku, penulis, penerbit, kategori, peminjaman, dan pengguna. Mengimplementasikan foreign keys, indexes, dan constraints untuk menjaga integritas data.
Mengimplementasikan sistem otentikasi yang aman menggunakan Laravel Passport dengan OAuth2. Mendukung grant type password untuk aplikasi first-party dan client credentials untuk aplikasi third-party.
Mengembangkan sistem CRUD untuk mengelola data buku, kategori, penulis, penerbit, dan peminjaman.
Kumpulan endpoint RESTful yang tersedia dalam Library API
/api/oauth/token
Mendapatkan access token menggunakan OAuth2 Password Grant
/api/register
Registrasi pengguna baru
/api/logout
Logout dan mencabut token
/api/user
Mendapatkan data pengguna yang sedang login
/api/books
Mendapatkan daftar buku dengan pagination dan filtering
/api/books
Membuat buku baru
/api/books/{id}
Mendapatkan detail buku
/api/books/{id}
Memperbarui data buku
/api/books/{id}
Menghapus buku
/api/authors
Mendapatkan daftar penulis
/api/authors
Membuat penulis baru
/api/authors/{id}
Mendapatkan detail penulis
/api/authors/{id}
Memperbarui data penulis
/api/authors/{id}
Menghapus penulis
/api/loans
Mendapatkan daftar peminjaman
/api/loans
Membuat peminjaman baru
/api/loans/{id}
Mendapatkan detail peminjaman
/api/loans/{id}
Mengembalikan buku yang dipinjam
Arsitektur backend dan teknologi yang diterapkan
Saya merancang dan mengimplementasikan seluruh sistem:
Membuat skema MySQL yang optimal dengan tabel-tabel terrelasi untuk buku, penulis, penerbit, kategori, peminjaman, dan pengguna
Membangun RESTful API dengan 20+ endpoint menggunakan Laravel
Mengimplementasikan otentikasi menggunakan Laravel Passport
Menerapkan validasi request yang ketat dan penanganan error yang konsisten
Membuat dokumentasi API yang komprehensif menggunakan Laravel Scramble dan Postman
Kerangka kerja PHP untuk pengembangan API
Database relasional untuk penyimpanan data
Dokumentasi komprehensif untuk memudahkan penggunaan API
Menggunakan Laravel Scramble untuk menghasilkan dokumentasi API secara otomatis dari kode. Dokumentasi ini menyediakan:
Setiap endpoint didokumentasikan dengan method, URL, dan deskripsi
Mendokumentasikan parameter yang diperlukan dan aturan validasinya
Menampilkan format response untuk setiap endpoint
Menjelaskan cara otentikasi menggunakan OAuth2
Menyediakan koleksi Postman yang lengkap untuk testing API:
Konfigurasi environment untuk base URL dan authentication tokens
Script otomatis untuk testing response status dan data
Contoh request untuk setiap endpoint dengan data yang valid
Dokumentasi terstruktur dalam format Postman
POST /api/oauth/token
Content-Type: application/json
{
"grant_type": "password",
"client_id": "your-client-id",
"client_secret": "your-client-secret",
"username": "user@example.com",
"password": "password",
"scope": "*"
}
{
"token_type": "Bearer",
"expires_in": 31622400,
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1Ni...",
"refresh_token": "def50200e9a7c8d7c7a7c8d7c7a7c8d7..."
}