{"id":25037436,"url":"https://github.com/ifwhy/bookshelf-api-back-end","last_synced_at":"2025-03-30T21:23:35.965Z","repository":{"id":256359912,"uuid":"855040448","full_name":"ifwhy/bookshelf-api-back-end","owner":"ifwhy","description":"Belajar Membuat Aplikasi Back End untuk Pemula","archived":false,"fork":false,"pushed_at":"2025-01-14T04:14:59.000Z","size":3691,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-06T01:49:13.366Z","etag":null,"topics":["dicoding","dicoding-academy","dicoding-submission"],"latest_commit_sha":null,"homepage":"https://bookshelf-api-back-end-dicoding.vercel.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ifwhy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-10T07:46:00.000Z","updated_at":"2025-01-14T04:16:22.000Z","dependencies_parsed_at":"2024-09-10T10:03:47.628Z","dependency_job_id":"8b133292-3bd6-4bc9-b517-073092b5ffcc","html_url":"https://github.com/ifwhy/bookshelf-api-back-end","commit_stats":null,"previous_names":["ifwhy/bookshelf-api-back-end"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ifwhy%2Fbookshelf-api-back-end","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ifwhy%2Fbookshelf-api-back-end/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ifwhy%2Fbookshelf-api-back-end/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ifwhy%2Fbookshelf-api-back-end/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ifwhy","download_url":"https://codeload.github.com/ifwhy/bookshelf-api-back-end/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246380783,"owners_count":20767903,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dicoding","dicoding-academy","dicoding-submission"],"created_at":"2025-02-06T01:49:11.918Z","updated_at":"2025-03-30T21:23:35.943Z","avatar_url":"https://github.com/ifwhy.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Belajar Membuat Aplikasi Back End untuk Pemula\n\nProyek ini merupakan proyek kecil-kecilan yang saya buat untuk menyelesaikan kelas [Belajar Membuat Aplikasi Back End untuk Pemula](https://www.dicoding.com/academies/261) dari [Dicoding](https://www.dicoding.com). Proyek ini telah disubmit pada tanggal 9 September 2024 dan berhasil mendapatkan ⭐⭐⭐⭐⭐.\n\n## Deskripsi\nProyek ini dikembangkan dengan menggunakan library [HapiJS](https://hapi.dev/). API ini dapat melakukan operasi CRUD (Create, Read, Update, Delete), dan beberapa fitur lain, seperti pencarian dengan params indeks tertentu dan pencarian berkelompok dengan query. \n\nAPI ini mampu melakukan validasi (secara manual tanpa library) seperti wajib menyertakan `name`, dan `readPage` tidak boleh lebih besar dari `pageCount`, serta variabel `finished` akan dievaluasi dari nilai `pageCount` dan `readPage` apakah sama atau tidak. Untuk id, digunakan library [nanoid](https://www.npmjs.com/package/nanoid) untuk mendapatkan id unik buku.\n\nProyek ini sudah dites dengan menggunakan Postman. File untuk melakukan testing terdapat pada folder [Testing Postman](BookshelfAPITestCollectionAndEnvironment). Anda dapat mengimpor kedua file json tersebut di Postman untuk melakukan testing.\n\n## Instalasi\n\nUnduh proyek pada repositori ini lalu jalankan dengan menggunkan perintah berikut : \n\n```bash\n  npm install\n  npm run start-dev\n```\n\nCatatan : Pada proyek ini, PORT dan HOSTNAME disimpan di sebuah file `.env` yang tidak disertakan pada repositori ini. Anda dapat membuatnya secara manual atau jika tidak, PORT dan HOSTNAME yang digunakan adalah PORT 9000 dan HOSTNAME `localhost`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fifwhy%2Fbookshelf-api-back-end","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fifwhy%2Fbookshelf-api-back-end","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fifwhy%2Fbookshelf-api-back-end/lists"}