My Project : Library Management System Backend

 

My Project : Library Management System Backend

   Proyek ini adalah sistem manajemen perpustakaan sederhana yang dibangun menggunakan ExpressJS dan PostgreSQL. Sistem ini memungkinkan anggota untuk meminjam dan mengembalikan buku sesuai dengan kondisi tertentu serta menyediakan API untuk mengelola buku dan anggota perpustakaan.

Peran:

   Backend Developer 

Fitur:

  • Manajemen Anggota: Tambah, update, hapus, dan daftar anggota.
  • Manajemen Buku: Tambah, update, hapus, dan daftar buku.
  • Sistem Peminjaman:
    • Anggota dapat meminjam buku jika memenuhi syarat peminjaman.
    • Anggota tidak dapat meminjam lebih dari 2 buku sekaligus.
    • Buku yang sedang dipinjam tidak dapat dipinjam oleh anggota lain.
    • Anggota yang dikenai penalti tidak dapat meminjam buku.
  • Sistem Pengembalian:
    • Anggota dapat mengembalikan buku yang telah mereka pinjam.
    • Pengembalian terlambat akan dikenai penalti, sehingga anggota tidak dapat meminjam selama 3 hari.

Teknologi:

  • Backend: ExpressJS
  • Database: PostgreSQL
  • Dokumentasi API: Swagger
  • Testing: Mocha, Chai (Unit Testing)
  • Pola Desain: Domain-Driven Design (DDD)

Penggunaan:

  1. Clone repositori ini:
    git clone https://github.com/gesarizky/backend-library-management.git
  2. Pindah ke direktori proyek:
    cd library-management-system
  3. Install dependensi:
    npm install
  4. Siapkan database PostgreSQL:
    • Buat database PostgreSQL.
    • Perbarui file .env dengan detail koneksi database Anda.
    Contoh file .env:
    
    DATABASE = 'library_management'
    DATABASE_USERNAME = 'your_username'
    DATABASE_PASSWORD = 'your_password'
    DATABASE_HOST = 'localhost'
    DATABASE_PORT = 5432
    DATABASE_TYPE = 'postgres'
    DATABASE_LOGGING = false
            
  5. Jalankan server:
    npm run start
    Server akan berjalan di http://localhost:3000.

Menjalankan Tes:

Untuk menjalankan unit tests:

npm run test

Dokumentasi API:

Dokumentasi API tersedia melalui Swagger:

Kunjungi http://localhost:3000/api-docs untuk melihat Swagger UI.

Import Koleksi Postman:

Sebuah koleksi Postman disediakan untuk pengujian API:

  1. Buka Postman.
  2. Klik Import dan pilih file JSON mentah yang disediakan di file postman_collection.json.
  3. Anda sekarang dapat menggunakan koleksi tersebut untuk menguji endpoint API.

Struktur Proyek:

  • controllers/: Berisi logika penanganan rute.
  • services/: Berisi logika bisnis.
  • models/: Mendefinisikan model database.
  • repositories/: Menangani logika akses data.
  • routes/: Mendefinisikan rute API.
  • tests/: Berisi unit tests.

Source Code :

Untuk informasi lebih lanjut tentang proyek ini atau untuk berdiskusi tentang kolaborasi proyek, silakan hubungi saya atau kunjungi website saya.

Gesa Rizky
Tech Enthusiast & Freelancer yang senantiasa belajar lebih giat lagi karena kemampuan sifatnya berkembang tidak ada seseorang pun yang memilki kemampuan tanpa di iringi dengan belajar

Related Posts

: