- Laravel 8
- PHP 8
- MongoDB 4.2
- Anda wajib memiliki PHP package mongodb. Jika tidak memiliki, silahkan download file dll di link berikut
- Ekstrak file php_mongodb.dll ke dalam folder path/to/php/ext milik anda
- Buka file php.ini dan tambahkan tulisan
extension=mongodb
- Buka command-prompt
- Clone project dealer-api ini dengan perintah
git clone https://github.com/siannas/dealer-api.git
- Masuk ke dalam folder
cd .\dealer-api\
- Jalankan perintah
copy .\.env.example .env
untuk menyalin .env file - Dalam file .env, ubahlah DB_URI & DB_DATABASE sesuai koneksi MongoDB anda
- Jalankan perintah
composer install
- Impor semua data dengan perintah
php artisan db:seed
php artisan serve
untuk menjalankan server pengembangan
Testing terdiri dari uji fitur pada API endpoint /api/login, /api/stok, /api/penjualan, dan /api/laporan. Jalankan perintah composer test
untuk mengujinya.
Screenshot of testing result |
-
Fitur Login
POST
/api/login
(Melakukan Autentikansi)
None
name data type example description email string "[email protected]" Gunakan email ini sebagai default password string "admin" Password default dari email [email protected] http code content-type response 200
application/json
{"success": true, "user":{...}, "token":"my-token"}
curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" --data-raw @post.json http://localhost:8000/api/login
-
Data Stok Kendaraan
GET
/api/stok?token={token}
(Mendapatkan data stok kendaraan belum terjual)
name type data type description token required string Token yang didapatkan saat login http code content-type response 200
application/json
{"total": 10, "mobil": {"count": 3, "data": [...], "motor": {"count": 3, "data": [...]} }
401
application/json
{"message":"Unauthenticated."}
curl -X GET -H "Content-Type: application/json" -H "Accept: application/json" http://localhost:8000/api/stok?token=my-token
-
Data Penjualan Kendaraan
GET
/api/penjualan?token={token}
(Mendapatkan data kendaraan yang telah terjual)
name type data type description token required string Token yang didapatkan saat login http code content-type response 200
application/json
{"total": 10, "total revenue": 999999, "mobil": {"count": 3, "revenue": 999, "penjualan": [...], "motor": {"count": 3, "revenue": 999, "penjualan": [...]} }
401
application/json
{"message":"Unauthenticated."}
curl -X GET -H "Content-Type: application/json" -H "Accept: application/json" http://localhost:8000/api/penjualan?token=my-token
-
Data Laporan Penjualan per Kendaraan
GET
/api/laporan?token={token}
(Mendapatkan Laporan Penjualan per Kendaraan)
name type data type description token required string Token yang didapatkan saat login name data type example description dateStart string "2023-03-01" Tanggal awal laporan yang diinginkan dateDiff integer 7 Rentang hari pengelompokan laporan penjualan, jika 7 artinya pengelompokkan perpekan tipeKendaraan array [1] Tipe kendaraan yang ingin diambil laporannya, [1] artinya motor, [2] artinya mobil, jika [1,2] artinya keduanya http code content-type response 200
application/json
{{"total": 10, "total revenue": 999999, "detil": [...{"count":2, "date start": "2023-03-01", "date end": "2023-03-07", "revenue": 999, "penjualan":[...]}] }
401
application/json
{"message":"Unauthenticated."}
curl -X GET -H "Content-Type: application/json" -H "Accept: application/json" --data-raw @get.json http://localhost:8000/api/laporan?token=my-token