Bookshelf-API

Bookshelf API - Dashboard Edition

Status Online Node Version Hapi Framework Author

Bookshelf API Pro bukan sekadar backend biasa. Ini adalah sistem manajemen perpustakaan digital yang dirancang dengan arsitektur modular, fitur kalkulasi otomatis, dan Dashboard Modern terintegrasi.


🚀 Fitur Unggulan (Premium Features)

Aplikasi ini telah ditingkatkan dengan berbagai logika cerdas di luar standar kriteria:


🛠️ Struktur Proyek

.
├── src/
│   ├── server.js   # Konfigurasi & Inisialisasi Server
│   ├── routes.js   # Definisi rute & Dashboard UI
│   ├── handler.js  # Logika Bisnis & Fitur Cerdas
│   └── books.js    # Data Layer (In-memory Database)
├── package.json    # Dependencies & Scripts
└── .gitignore      # Auto-exclude node_modules


📥 Instalasi & Menjalankan

  1. Clone Repository ```bash git clone https://github.com/Dikrey/Bookshelf-API.git


2. **Instal Dependencies**
```bash
npm install

  1. Jalankan Server ```bash npm run start


Server akan berjalan di `http://localhost:9000`

---

## 📡 API Endpoints

| Method | Endpoint | Fungsi |
| --- | --- | --- |
| `GET` | `/` | **Dashboard Visual Pro** |
| `GET` | `/books` | List Buku + Smart Metadata |
| `POST` | `/books` | Tambah Buku (JSON) |
| `GET` | `/quick-add` | Magic Link: Tambah via URL |
| `GET` | `/delete-book/{id}` | Magic Link: Hapus via URL |
| `PUT` | `/books/{id}` | Update Data Buku |
| `DELETE` | `/books/{id}` | Hapus Buku (Permanent) |

---

## 👤 Author

**Muhammad Raihan**

* **Project**: Submission Bookshelf API - Dicoding
* **Stack**: Hapi.js, Node.js, Nanoid

---


## ⚠️ Peringatan & Lisensi (Disclaimer)

Projek ini dibuat untuk tujuan **pembelajaran**. Dengan menggunakan atau mengunduh kode ini, anda setuju untuk mematuhi syarat berikut:

1. **Hormati Karya Asli**: Dilarang keras mengubah atau menghapus nama pembuat asli (**Muhammad Raihan**) dari projek ini, baik di dalam kode sumber maupun di paparan Dashboard.
2. **Kreativiti Sendiri**: Anda sangat digalakkan untuk berkarya mengikut idea anda sendiri. Gunakan kode ini sebagai rujukan atau asas untuk membina sesuatu yang lebih hebat.
3. **Syarat Recode**: Anda dibenarkan untuk *recode* atau mengubah kode ini, tetapi **dengan syarat tetap mencantumkan nama pembuat asli** sebagai kredit atau rujukan asal.

> "Berkaryalah dengan etika. Ilmu akan lebih berkah apabila kita menghargai hasil usaha orang lain."
> Visualcodepo
---

<p align="center">Made with ❤️ for Better Backend Developer</p>