Type something to search...

Book Catalog & Booking API

Ringkasan

Katalog buku itu gampang. Aturan peminjamannya yang bikin sistem seperti ini menarik, dan justru di situ sistem kecil biasanya jebol.

Ini backend FastAPI untuk perpustakaan: katalog yang bisa dicari, plus mesin booking yang menegakkan aturannya di sisi server, bukan mempercayakannya ke client.


Cara kerjanya

Siapa saja bisa mencari berdasarkan judul atau penulis. Pengguna yang sudah login bisa pakai filter lengkap (genre, tahun, ketersediaan) dan membooking sampai tiga buku sekaligus, maksimal tujuh hari.

Admin punya full CRUD atas katalog dan bisa mengubah status booking secara manual saat buku dikembalikan. Pengembalian buku menaikkan stok otomatis, jadi data ketersediaan tetap akurat tanpa perlu cek rak manual.

Autentikasinya JWT, validasinya Pydantic, dan datanya di PostgreSQL lewat SQLAlchemy.

Dokumentasi API booking di Swagger UI

Bukti aturan limit buku dan durasi ditegakkan di server


Teknologi

Python, FastAPI, PostgreSQL, SQLAlchemy, JWT, Pydantic, uv.

PostgreSQL bukan SQLite karena aturan peminjaman butuh transaksi beneran. uv supaya setup project satu perintah, bukan satu halaman README.


Yang akan saya ubah

Ini API tanpa frontend, jadi pengujiannya lewat dokumentasi API dan test, bukan lewat tampilan. Scope-nya memang segitu, dan itu disengaja. Konsekuensinya, pustakawan belum bisa langsung memakainya, dan itu perlu diakui terus terang.


Source code

Kodenya publik: https://github.com/rasyidev/booking-book