Skip to content
Snippets Groups Projects

REST API Service KMS

Description

RESTful KMS adalah REST service yang menggunakan NodeJS, ExpressJS, dan CORS untuk menyediakan beberapa layanan KMS. Layanan tersebut salah satunya meliputi resource management yang dipakai oleh service-service lain.

RESTful KMS terhubung dengan service-service lain seperti SPA, SOAP, dan Web untuk menyediakan resource yang dibutuhkan, seperti subscription management, user management, lyrics database, dan lain-lain.

Database scheme

DBMS yang digunakan adalah PostgreSQL. Database Scheme

Endpoints

Endpoint (/services) Method Description
Coins (/coins)
Authorization Needed
GET (/:accountId) Mendapatkan jumlah koin yang dimiliki account
POST (/) Memberikan koin ke account lain
PUT (/) Top up koin account
DELETE (/:accountId) Kurangi jumlah koin account
Subscription (/subscription)
Authorization Needed
GET (/:accountId) Cek status account
POST (/) Subscribe ke premium account
DELETE (/:accountId) Unsubscribe account
Lyrics (/lyrics) GET (/:songId) Mendapatkan lyrics untuk satu lagu
PUT (/) Menambahkan atau meng-update lyrics untuk satu lagu
DELETE (/:songId) Menghapuskan lyrics untuk satu lagu
Creator (/creator) GET (/:creatorId) Mendapatkan ID dan nama seorang creator
GET (/) Mendapatkan ID dan nama semua creator
Creator Request (/request) GET (/byuser/:accountId) Mendapatkan semua creator request yang account telah submit
GET (/:creatorId) Mendapatkan semua request yang bersangkutan dengan creator
POST (/) Request ke seorang creator
DELETE (/:creatorId/all) Hapus semua request pada creator
DELETE (/:creatorId) Hapus salah satu request pada creator
Thread (/thread) GET (/) Mendapatkan semua thread
GET (/:threadId) Hanya GET salah satu thread/chat
POST (/) Menambahkan thread
POST (/:threadId) Mengirimkan chat
Payment History (/history) GET (/) Mendapatkan payment history
GET (/pdf) Download payment history dalam bentuk PDF
POST (/email) Kirim payment history ke email
Login (/login)
POST (/) Log in menggunakan username dan password
POST (/token) Log in menggunakan token
Logout (/logout) POST (/) Log out
Relaxed Subscription (/relaxed/subscription) GET (/:accountId) Mendapatkan status subscription suatu account tanpa membutuhkan authorization

Pembagian Tugas

  • Coins: 13521136
  • Subscription: 13521136
  • Lyrics: 13521136
  • Creator: 13521136
  • Creator Request: 13521136, 13521128
  • Thread: 13521163
  • Payment History: 13521136
  • Login: 13521163
  • Logout: 13521163
  • Relaxed Subscription: 13521163
  • Authentication and Authorization: 13521163
  • Database connection: 13521136
  • SOAP connection: 13521136
  • Caching: 13521136
  • Docker Setup: 13521136