{"id":19429547,"url":"https://github.com/firyanulrizky/api_javascript_openmusic_v1_backend","last_synced_at":"2026-05-16T15:04:09.274Z","repository":{"id":135157023,"uuid":"483583722","full_name":"FiryanulRizky/api_javascript_openmusic_v1_backend","owner":"FiryanulRizky","description":"api_javascript_openmusic-apps_v1_backend","archived":false,"fork":false,"pushed_at":"2022-04-20T13:32:49.000Z","size":3203,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-25T05:42:51.859Z","etag":null,"topics":["hapi-plugin","javascript-es6","joi-validation","node-js","nodemon","postgresql-database"],"latest_commit_sha":null,"homepage":"","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/FiryanulRizky.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":"2022-04-20T09:09:32.000Z","updated_at":"2025-01-11T15:29:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"9917bb83-f488-4d63-866e-8a645f7d855b","html_url":"https://github.com/FiryanulRizky/api_javascript_openmusic_v1_backend","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/FiryanulRizky/api_javascript_openmusic_v1_backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FiryanulRizky%2Fapi_javascript_openmusic_v1_backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FiryanulRizky%2Fapi_javascript_openmusic_v1_backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FiryanulRizky%2Fapi_javascript_openmusic_v1_backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FiryanulRizky%2Fapi_javascript_openmusic_v1_backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FiryanulRizky","download_url":"https://codeload.github.com/FiryanulRizky/api_javascript_openmusic_v1_backend/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FiryanulRizky%2Fapi_javascript_openmusic_v1_backend/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33107567,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["hapi-plugin","javascript-es6","joi-validation","node-js","nodemon","postgresql-database"],"created_at":"2024-11-10T14:19:49.752Z","updated_at":"2026-05-16T15:04:09.258Z","avatar_url":"https://github.com/FiryanulRizky.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Restful api untuk Aplikasi Open Music v1.0\n\n# Studi Kasus\n- Mengembangkan restful api untuk aplikasi OpenMusic dari sisi backend.\n- Api ini dikembangkan secara berangsur hingga nantinya memiliki fitur seperti menambahkan lagu, membuat playlist, memasukan lagu ke dalam playlist, hingga membagikan playlist kepada pengguna lain.\n- Saat ini api untuk aplikasi OpenMusic ini sudah ditahap versi pertama dengan dilengkapi fitur menambah, menghapus, dan mengubah data album dan lagu yang dimasukkan oleh pengguna.\n\n# Tools Development\n- Node.js v17.2.0\n- HAPI js Plugin v20.2.1\n- JOI Plugin v17.6.0 (Data Validation)\n- RDBMS PostgreSQL v14.2 (Sudah Mendukung Migrasi)\n\n# Uji Postman\nDikarenakan masih sebatas berjalan di sisi backend, maka pengujian restful api dilakukan dengan aplikasi Postman (untuk berkas pengujian ada di folder PostmanTest, lakukan impor dan jalankan pengujian manual). Berikut adalah hasil pengujian yang telah dilakukan sejauh ini :\n\n# 1. Uji Postman untuk Album\n![2  Add Album with Valid Payload](https://user-images.githubusercontent.com/60762912/164225768-8f84fc79-7819-4f33-a8fc-d73069b3868c.PNG)\n![3  Get Detail Album with Invalid Id](https://user-images.githubusercontent.com/60762912/164226041-0a6f1b19-d112-449b-8798-fb35a797f22d.PNG)\n![4  Get Detail Album with Valid Id](https://user-images.githubusercontent.com/60762912/164226068-dd422911-88ad-4c00-89ee-0da7e51854b1.PNG)\n![6  Edit Album with Invalid Id](https://user-images.githubusercontent.com/60762912/164226073-2901e720-941a-46ce-a3e2-98eff5fc9b99.PNG)\n![7  Edit Album with Valid Id](https://user-images.githubusercontent.com/60762912/164226076-7e4c7c39-1c1d-4d3c-ba80-bf573aada493.PNG)\n![8  Delete Album with Invalid Id](https://user-images.githubusercontent.com/60762912/164226078-9b1c5431-22a4-4a79-ba9c-2509aef4504f.PNG)\n\n# 2. Uji Postman untuk Song\n![2  Add Song with Valid Payload](https://user-images.githubusercontent.com/60762912/164226304-87b272d8-9dcd-4099-b935-b324038678d3.PNG)\n![3   No Test  Add Song with Valid Payload](https://user-images.githubusercontent.com/60762912/164226307-081adebe-a138-479c-8e3a-77ceb5e58c95.PNG)\n![4  Get All Songs](https://user-images.githubusercontent.com/60762912/164226310-9bc2ca5d-5296-4406-8a5c-08eca2aeeabd.PNG)\n![5  Get Detail Songs with Invalid Id](https://user-images.githubusercontent.com/60762912/164226313-5fa5fce2-5da8-497d-b467-350b87c83961.PNG)\n![6  Get Detail Songs with Valid Id](https://user-images.githubusercontent.com/60762912/164226318-cd1d05c6-01e1-415a-b1de-5071188e39cd.PNG)\n![8  Edit Song with Invalid Id](https://user-images.githubusercontent.com/60762912/164226320-cebb2c3e-8466-4c62-8f58-0f3104b6d785.PNG)\n![9  Edit Song with Valid Id](https://user-images.githubusercontent.com/60762912/164226322-d9f685ad-15fe-461d-aa70-580f3385d11f.PNG)\n![10  Delete Song with Invalid Id](https://user-images.githubusercontent.com/60762912/164226337-7b15ee9f-af30-4d38-ab20-eea64dc7b4ee.PNG)\n\n# Uji Postman Prerequisite\n![1  Add Album](https://user-images.githubusercontent.com/60762912/164226586-1cd11804-c575-4d22-aa3a-d61e7585fbfc.PNG)\n![2  Add Song A with Album Id](https://user-images.githubusercontent.com/60762912/164226593-3bcd5bdd-967a-4d80-bcd5-05da1a7d1781.PNG)\n![3  Add Song B with Album Id](https://user-images.githubusercontent.com/60762912/164226599-46a6938d-1389-448d-8564-e2f4dece1d90.PNG)\n![4  Get Detail Album which Contains Songs](https://user-images.githubusercontent.com/60762912/164226608-d455772f-7eb8-4377-bde1-49b775c9aad0.PNG)\n\n# Uji Postman untuk Query Parameter\n![1  Add Song A](https://user-images.githubusercontent.com/60762912/164226772-e5089af7-2979-42ba-a84c-2979c9597829.PNG)\n![2  Add Song B](https://user-images.githubusercontent.com/60762912/164226785-5f4c9df6-0b06-44ea-8866-124cd7e3c2a7.PNG)\n![3  Add Song C](https://user-images.githubusercontent.com/60762912/164226797-e390b24b-595d-4b07-8945-d975496da33a.PNG)\n![4  Add Song D](https://user-images.githubusercontent.com/60762912/164226804-c40ecf74-9da8-4809-b42e-c732e0dc1f2f.PNG)\n![5  Seach Song using Title](https://user-images.githubusercontent.com/60762912/164226808-2b4efc9d-a067-489e-b9bf-f1d93764b488.PNG)\n![6  Seach Song using Performer](https://user-images.githubusercontent.com/60762912/164226819-787aef8c-4ccc-451c-9855-7f03ab4ed530.PNG)\n![7  Seach Song using Title and Performer](https://user-images.githubusercontent.com/60762912/164226824-65fd036d-6e72-4bb8-a5fd-1e4a8bfdc8b2.PNG)\n![8  Delete Song A](https://user-images.githubusercontent.com/60762912/164226828-41d4e6f1-4ff8-49e1-8b4b-ca39f7c42b3b.PNG)\n![9  Delete Song B](https://user-images.githubusercontent.com/60762912/164226830-8be404ed-6254-47d8-a380-c42e390f7145.PNG)\n![10  Delete Song C](https://user-images.githubusercontent.com/60762912/164226834-e1064b90-e1f5-4050-b027-3a8c8850d8a3.PNG)\n![11  Delete Song D](https://user-images.githubusercontent.com/60762912/164226845-f5a8440b-4f37-4fd7-8af3-16215707f05f.PNG)\n \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffiryanulrizky%2Fapi_javascript_openmusic_v1_backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffiryanulrizky%2Fapi_javascript_openmusic_v1_backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffiryanulrizky%2Fapi_javascript_openmusic_v1_backend/lists"}