Thanks to visit codestin.com
Credit goes to github.com

Skip to content

bramadityaw/nova-catering

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dokumentasi Projek Website Nova Catering

TBD

  • Captcha in review form

General

Administrasi Pengguna

Pendaftaran dan penghapusan akun admin tidak tersedia melalui antarmuka web. Kedua aksi tersebut dilakukan melalui perintah Artisan custom berikut.

Registrasi Admin

php artisan admin:new <name> <password>

Penghapusan Admin

php artisan admin:delete <name>

REST API

Sebelum membaca lebih jauh, ada beberapa konvensi yang REST API ini patuhi. Developer yang menggunakan REST API ini diharapkan mampu memahami konvensi tersebut dan menggunakannya sesuai dengan konvensi yang telah ditetapkan.

REST API ini menggunakan JSON sebagai format pertukaran data, kecuali di beberapa endpoint yang menerima file seperti di /api/partner/ dan /api/paket/ untuk method POST dan PUT. Request untuk endpoint tersebut harus memiliki body dengan MIME type multipart/form-data.

Karena API ini menggunakan Laravel, semua request PUT adalah request POST dengan field tambahan _method yang memiliki nilai 'PUT.'

{
    ...other data
    "_method" : "PUT"
}

Semua endpoint dengan HTTP method POST, PUT, dan DELETE adalah endpoint yang terlindungi.

Ada dua endpoint index, /api/{resource}/ dan /api/{resource}/index.

/api/{resource}/index adalah endpoint yang dilindungi dan memerlukan autentikasi. Endpoint tersebut ditujukan untuk digunakan di dashboard.

Sementara itu, /api/{resource}/ ditujukan untuk digunakan secara publik, dengan beberapa fitur data disembunyikan untuk menghemat waktu query.

Autentikasi

Request yang mengakses endpoint yang terlindungi perlu menambahkan header Authentication dengan nilai {tipe_token} {token}. Keduanya dapat diakses melalui endpoint log in.

Log In

POST      /api/login

REST API ini menggunakan Bearer token untuk autentikasi. Token dapat diakses dengan melakukan request dengan username dan password admin yang telah didaftarkan sebelumnya melalui command prompt.

Contoh request:

{
    "name" : "string",
    "password" : "string"
}

Contoh response:

{
    "message": "Login success",
    "access_token": "TOKEN",
    "token_type": "Bearer"
}

Log Out

POST      /api/logout

Endpoint ini terlindungi. Request ke endpoint ini tidak memerlukan body. Endpoint ini membuat semua token dari user menjadi tidak valid.

Partner

Secara umum, respons untuk method GET kelompok endpoint ini kurang lebih seperti berikut.

{
    "nama" : "Partner",
    "logo" : "path/to/logo"
}

Mengambil partner tertentu

GET       /api/partner/{id}

Mengambil semua partner

GET       /api/partners

Mengambil semua partner dengan metadata

GET       /api/partners/index

Endpoint ini terlindungi.

Mendaftarkan Partner Baru

POST      /api/partner
Fields:
    name: required, string
    logo: required, file, image

Endpoint ini terlindungi.

Mengubah Partner

PUT       /api/partner/{id}
Fields:
    name: optional, string
    logo: optional, file, image

Endpoint ini terlindungi.

Menghapus Partner Tertentu

DELETE    /api/partner/{id}

Endpoint ini terlindungi. Request ke endpoint ini tidak memerlukan body.

Review

Secara umum, respons untuk method GET kelompok endpoint ini kurang lebih seperti berikut.

{
    "id" : 0,
    "reviewer_name" : "Fulan",
    "content" : "Lorem ipsum dolor sit amet..."
}

Untuk mengontrol visibilitas review, dapat menggunakan endpoint (/api/review/{id}/show)[#menyembunyikan-review] dan (/api/review/{id}/show)[#menampilkan-review]

Mengambil semua review publik

GET       /api/reviews

Mengambil semua review, termasuk yang disembunyikan, dengan metadata

GET       /api/reviews/index

Endpoint ini terlindungi.

Mengambil review tertentu

GET       /api/review/{id}

Menyembunyikan review

POST      /api/review/{id}/hide

Endpoint ini terlindungi. Request ke endpoint ini tidak memerlukan body.

Menampilkan review

POST      /api/review/{id}/show

Endpoint ini terlindungi. Request ke endpoint ini tidak memerlukan body.

Membuat Review Baru

POST      /api/review
Fields:
    reviewer_name: required, string
    content: required, text

Endpoint ini terlindungi.

Menghapus review

DELETE    /api/review/{id}

Endpoint ini terlindungi. Request ke endpoint ini tidak memerlukan body.

Menu Satuan

Mengambil semua menu satuan

GET       /api/satuans

Mengambil semua menu satuan dengan metadata

GET       /api/satuans/index

Endpoint ini terlindungi.

Mengambil menu satuan tertentu

GET       /api/satuan/{id}

Membuat menu satuan baru

POST      /api/satuan
Fields:
    nama: required, string

Endpoint ini terlindungi.

Memperbaru menu satuan tertentu

PUT       /api/satuan/{id}
Fields:
    nama: optional, string

Endpoint ini terlindungi.

Menghapus menu satuan tertentu

DELETE    /api/satuan/{id}

Endpoint ini terlindungi. Request ke endpoint ini tidak memerlukan body.

Menu Paket

Mengambil semua data menu paket

GET       /api/pakets

Mengambil semua data menu paket dengan metadata

GET       /api/pakets/index

Endpoint ini terlindungi.

Mengambil data menu paket tertentu

GET       /api/paket/{id}

Mengambil semua menu satuan untuk menu paket tertentu

GET       /api/paket/{id}/items

Membuat menu paket baru

POST      /api/paket
Fields:
    name: required, string
    harga: required, unsigned integer
    kategori: required, 'nasi_kotak' OR 'prasmanan'
    foto: required, file, image
    items: optional, array<satuan_id>

Endpoint ini terlindungi.

Memperbaru menu paket tertentu

/api/paket/{id}
Fields:
    name: optional, string
    harga: optional, unsigned integer
    kategori: optional, 'nasi_kotak' OR 'prasmanan'
    foto: optional, file, image
    items: optional, array<satuan_id>

Endpoint ini terlindungi.

Menghapus menu paket tertentu

DELETE    /api/paket/{id}

Endpoint ini terlindungi. Request ke endpoint ini tidak memerlukan body.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •