Skip to content

ranggautama47/bookshelf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

15 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

bookshelf

saya membuat aplikasi bookshelf, aplikasi ini tujuannya untuk membuat perpustakaan mini atau digital fungsi utama nya itu menambahakan gambar buku, penulis, tahun terbit, dan juga descripsi selain itu juga ada progres membaca dan ada rak untuk buku yang selesai dibaca dan juga rak buku yang belum di baca

ada 3 menu utama home explore dan save

πŸ“š Bookshelf App (JavaScript Version)

Aplikasi Bookshelf versi JavaScript murni untuk mengelola koleksi buku digital pribadi dengan fitur tracking progress membaca.

πŸš€ Demo

πŸ”— Live Demo: preview
πŸ“‚ Repository: cek disini

✨ Fitur Utama

πŸ“– Manajemen Buku Lengkap

  • βœ… Tambah buku dengan cover, judul, penulis, tahun, kategori, dan deskripsi
  • βœ… Edit dan hapus buku
  • βœ… Upload gambar cover atau gunakan placeholder
  • βœ… Filter berdasarkan kategori (Fiksi, Non-Fiksi, Teknologi, dll)

πŸ“Š Tracking Membaca

  • βœ… Progress bar dengan persentase (0-100%)
  • βœ… Sistem rak: "Belum Dibaca" vs "Selesai Dibaca"
  • βœ… Tandai buku sebagai selesai/belum selesai
  • βœ… Slider untuk update progress di halaman detail

🎨 UI/UX Modern

  • βœ… Responsive design (mobile & desktop)
  • βœ… Dark mode tema dengan warna neon
  • βœ… Navigasi mobile-friendly dengan bottom navbar
  • βœ… Animasi smooth dan transisi
  • βœ… Card design dengan hover effect

πŸ” Fitur Pencarian

  • βœ… Cari buku berdasarkan judul
  • βœ… Filter kategori interaktif
  • βœ… Tampilan grid/list sesuai kebutuhan

πŸ› οΈ Teknologi yang Digunakan

  • HTML5 - Semantic markup
  • CSS3 - Modern styling dengan custom properties
  • Vanilla JavaScript (ES6) - No frameworks!
  • LocalStorage - Penyimpanan data di browser
  • FileReader API - Upload gambar cover
  • Responsive Web Design - Mobile-first approach

πŸ“ Struktur Proyek

bookshelf-js/

β”œβ”€β”€ index.html # Homepage

β”œβ”€β”€ home.html # Halaman utama

β”œβ”€β”€ explore.html # Halaman eksplorasi

β”œβ”€β”€ save.html # Halaman koleksi tersimpan

β”œβ”€β”€ add_book.html # Form tambah/edit buku

β”œβ”€β”€ book_detail.html # Halaman detail buku

β”œβ”€β”€ style.css # Stylesheet utama

β”œβ”€β”€ script.js # Logika aplikasi

β”œβ”€β”€ bukuku.png # Default cover image

└── README.md # Dokumentasi ini 

🎯 Fitur Khusus

πŸ“± Responsive Navigation

  • Desktop: Top navbar dengan logo dan menu
  • Mobile: Bottom tab bar dengan icon
  • Floating Action Button di desktop untuk tambah buku cepat

🎨 Kategori Buku

  • Fiction
  • Non-Fiksi
  • Teknologi
  • Self-help
  • Sejarah
  • Sains
  • Biography
  • Business
  • Lainnya

πŸ“ˆ Progress System

Progress Bar Colors:

0-49% : Orange (sedang dibaca)

50-99% : Blue (hampir selesai)

100% : Green (selesai)

πŸš€ Cara Menjalankan

Opsi 1: Langsung di Browser

  1. Clone repository:
git clone https://github.com/ranggautama47/bookshelf.git
cd bookshelf
Buka file home.html di browser

Opsi 2: Live Server (Rekomendasi)

Install Live Server Extension di VS Code

Klik kanan home.html β†’ Open with Live Server

Opsi 3: Deploy ke GitHub Pages

Push ke repository GitHub

Settings β†’ Pages β†’ Select main branch

Tunggu beberapa menit, akses di https://username.github.io/bookshelf

πŸ“Έ Screenshots

🏠 Homepage

Home Page

πŸ” Explore Page

Explore Page

πŸ’Ύ Save Page

Save Page

πŸ“– Detail Book

Detail Page

πŸ”§ API & Storage

LocalStorage Structure javascript

{
  books: [
    {
      id: "unique-id",
      title: "Judul Buku",
      author: "Penulis",
      year: "2024",
      category: "Fiction",
      description: "Deskripsi buku...",
      coverDataUrl: "data:image/png;base64...",
      isComplete: false,
      progress: 65,
      createdAt: "2024-03-20T10:30:00Z"
    }
  ]
}

πŸ“ Fitur Dicoding Compliance

βœ… Book Item Component (data-testid attributes):

bookItem

bookItemTitle

bookItemAuthor

bookItemYear

bookItemIsCompleteButton

bookItemDeleteButton

bookItemEditButton

βœ… CRUD Operations:

Create: Tambah buku baru

Read: Tampilkan daftar buku

Update: Edit buku & ubah status

Delete: Hapus buku

βœ… Local Storage:

Data persisten di browser

Tidak hilang saat refresh

Support semua browser modern

🎨 Design System Color Palette css

--bg: #0F0F0F          /* Background utama */
--card: #1A1A1A        /* Card background */
--accent: #00A86B      /* Warna aksen hijau */
--neon: #39FF14        /* Warna neon */
--blue: #2DA8FF        /* Warna biru */
--danger: #D0342C      /* Warna merah */

Typography

Primary Font: Poppins

Headings: Montserrat

Sizes: 12px - 28px scaling

🀝 Kontribusi

Fork repository

Buat branch fitur (git checkout -b feature/amazing-feature)

Commit perubahan (git commit -m 'Add amazing feature')

Push ke branch (git push origin feature/amazing-feature)

Buat Pull Request

πŸ‘€ Penulis

Rangga Utama

GitHub: @ranggautama47

Project: Bookshelf App

About

saya membuat aplikasi bookshelf fungsi aplikasi ini itu untuk membuat perpustakaan mini atau digital fungisi utama nya itu menambahakan gambar buku penulis tahun terbit dan juga descripsi selain itu juga ada progres membaca dan ada rak untuk buku yang selesai dibaca dan juga rak buku yang belum di baca

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors