test online untuk proses hiring PT. Digdaya Olah Teknologi (DOT) Indonesia.
-
Integrasi dengan API province & city Rajaongkir (paket starter) https://rajaongkir.com/dokumentasi/starter
-
Membuat artisan command yg melakukan fetching API data provinsi & kota dan data disimpan ke dalam database.
-
Membuat REST API untuk pencarian provinsi & kota dengan endpoint berikut:
a. [GET] /search/provinces?id={province_id}
b. [GET] /search/cities?id={city_id} Data API pencarian ini mengambil dari database.
Meningkatnya kebutuhan Web service, tim engineer memutuskan untuk membuat swapable implementation untuk endpoint pencarian provinsi dan kota.
-
Membuat sumber data pencarian province & cities bisa melalui database atau direct API raja ongkir (swapable implementation). Proses swap implementasi dapat dilakukan melalui konfigurasi tanpa merubah source code yang sudah dibuat.
-
Menyediakan API login agar endpoint pencarian hanya bisa diakses oleh authorized user saja.
-
Membuat unit test / API test agar web service tetap reliable & maintainable
Clone project.
git clone -b sprint_1 https://github.com/toniasep/dottoni.git sprint_1
cd sprint_1
buat sebuah database di local computer
rename file .env.example menjadi .env.
sesuaikan koneksi database dan tambahkan api key raja ongkir di file .env
RAJAONGKIR_API_KEY
= 0df6d5bf733214af6c6644eb8717c92c
jalankan perintah berikut.
composer install
php artisan key:generate
php artisan migrate
fetching data kota dan provinsi dari api rajaongkir menggunakan perintah berikut.
php artisan fetch:rajaongkir
ketik perintah berikut untuk menjalankan aplikasi.
php artisan serve
GET /search/cities/
Parameter | Type | Description |
---|---|---|
id |
integer |
Required. Id of city |
GET /search/provinces/
Parameter | Type | Description |
---|---|---|
id |
integer |
Required. Id of province |
Clone project.
git clone -b sprint_2 https://github.com/toniasep/dottoni.git sprint_2
cd sprint_2
buat sebuah database di local computer
rename file .env.example menjadi .env.
sesuaikan koneksi database dan tambahkan api key raja ongkir di file .env
RAJAONGKIR_API_KEY
= 0df6d5bf733214af6c6644eb8717c92c
jalankan perintah berikut.
composer install
php artisan key:generate
php artisan migrate --seed
fetching data kota dan provinsi dari api rajaongkir menggunakan perintah berikut.
php artisan fetch:rajaongkir
generate key secret jwt auth
php artisan jwt:secret
ketik perintah berikut untuk menjalankan aplikasi.
php artisan serve
POST /api/auth/register
Parameter | Type | Description |
---|---|---|
name |
string |
Required. Name of user |
email |
string |
Required. Email of user |
password |
string |
Required. Password of user |
POST /api/auth/login
Parameter | Type | Description |
---|---|---|
email |
integer |
Required. Email of user |
password |
integer |
Required. Password of user |
{
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC8xMjcuMC4wLjE6ODAwMFwvYXBpXC9hdXRoXC9sb2dpbiIsImlhdCI6MTY2MTQwNTgxNSwiZXhwIjoxNjYxNDA5NDE1LCJuYmYiOjE2NjE0MDU4MTUsImp0aSI6IkhmR3BmZW50UGI5czcyY2QiLCJzdWIiOjEsInBydiI6IjIzYmQ1Yzg5NDlmNjAwYWRiMzllNzAxYzQwMDg3MmRiN2E1OTc2ZjcifQ.X7SaYiEb4nXKItYyjdbGgxv-Bv4U5WjvvbLMt4lVWIw",
"token_type": "bearer",
"expires_in": 3600
}
GET /search/cities/
Parameter | Type | Description |
---|---|---|
id |
integer |
Required. Id of city |
token |
string |
Required. access_token from response login user |
source |
string |
Optional. api(default) : data drom api rajaongkir, db : from database app |
GET /search/provinces/
Parameter | Type | Description |
---|---|---|
id |
integer |
Required. Id of province |
token |
string |
Required. access_token from response login user |
source |
string |
Optional. api(default) : data drom api rajaongkir, db : from database app |
untuk melakukan unit test pada project, ketika perintah berikut.
php artisan test