Skip to content

Submission dicoding pada kelas Belajar Back-End dengan JavaScript - CodingCamp2026

Notifications You must be signed in to change notification settings

Dikrey/Bookshelf-API

Repository files navigation

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:

  • 💎 Ultra-Modern Dashboard: Tampilan visual di root / dengan Glassmorphism UI.
  • ⚡ Quick Add & Delete: Kelola data langsung melalui URL browser tanpa aplikasi tambahan.
  • 📊 Smart Metadata: Kalkulasi otomatis persentase progres (75%), sisa halaman, dan kategori ketebalan buku.
  • 🎲 Book of The Day: Fitur rekomendasi acak setiap kali API diakses.
  • 📂 Modular File Management: Struktur file yang rapi (server, routes, handler, data) untuk skalabilitas tinggi.
  • 📡 Advanced Query Search: Filter berdasarkan nama, status membaca (reading), dan status selesai (finished).

🛠️ 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
git clone https://github.com/Dikrey/Bookshelf-API.git
  1. Instal Dependencies
npm install
  1. Jalankan Server
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


Made with ❤️ for Better Backend Developer

About

Submission dicoding pada kelas Belajar Back-End dengan JavaScript - CodingCamp2026

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published