Proyek ini menyediakan API untuk mengelola data buku dan informasi penulis (author). Informasi penulis mencakup nama, bio, dan tanggal lahir, sedangkan informasi buku mencakup judul, tahun terbit, sinopsis, dan ID penulis yang terkait.
diawal jangan lupa untuk npm i
, juga masukkan database anda di .env
untuk templatenya ada di .env.example
jalankan dengan npm run
start atau npm run start:dev
Jika Anda ingin menginisialisasi database untuk proyek ini, ikuti langkah-langkah berikut
- Migrate Database
Untuk menjalankan migrasi database pertama kali, jalankan perintah berikut:
npx sequelize-cli db:migrate
- Seed Data Setelah migrasi selesai, Anda bisa menambahkan data awal ke dalam database dengan menjalankan seeders:
npx sequelize-cli db:seed --seed 20240717235314-author.js
npx sequelize-cli db:seed --seed 20240717235251-book.js
Ini akan memasukkan data contoh untuk penulis dan buku ke dalam database.
Pastikan untuk mengatur file .env dengan kredensial database yang sesuai sebelum menjalankan migrasi. Untuk memulai proyek, jalankan perintah npm run start
atau npm run start:dev
.
Pastikan untuk mengganti {base_url}
dengan base URL dari aplikasi Anda saat dijalankan, misalnya http://localhost:8000
- GET All Authors: Mendapatkan daftar semua penulis.
GET {base_url}/authors
- GET Author by ID: Mendapatkan informasi seorang penulis berdasarkan ID.
GET {base_url}/authors/{author_id}
- CREATE Author: Membuat data penulis baru.
POST {base_url}/authors
Body:
{
"name": "Nama Penulis",
"bio": "Biografi penulis.",
"birthdate": "YYYY-MM-DD"
}
- UPDATE Author: Memperbarui informasi seorang penulis berdasarkan ID.
PUT {base_url}/authors/{author_id}
Body:
{
"name": "Nama Penulis yang Diperbarui",
"bio": "Biografi yang diperbarui.",
"birthdate": "YYYY-MM-DD"
}
- DELETE Author: Menghapus seorang penulis berdasarkan ID.
DELETE {base_url}/authors/{author_id}
- GET All Books: Mendapatkan daftar semua buku.
GET {base_url}/books
- GET Book by ID: Mendapatkan informasi sebuah buku berdasarkan ID.
GET {base_url}/books/{book_id}
- CREATE Book: Membuat data buku baru.
POST {base_url}/books
Body:
{
"title": "Judul Buku",
"releaseYear": 2023,
"synopsis": "Sinopsis buku ini adalah...",
"authorId": 1
}
- UPDATE Book: Memperbarui informasi sebuah buku berdasarkan ID.
PUT {base_url}/books/{book_id}
Body:
{
"title": "Judul Buku yang Diperbarui",
"releaseYear": 2023,
"synopsis": "Sinopsis buku yang diperbarui...",
"authorId": 1
}
- DELETE Book: Menghapus sebuah buku berdasarkan ID.
DELETE {base_url}/books/{book_id}
Pastikan untuk mengatur header Content-Type: application/json pada setiap permintaan POST dan PUT, serta memastikan bahwa data yang dikirim sesuai dengan format yang dijelaskan di atas.