API sederhana untuk layanan cuci sepatu, dibangun menggunakan Node.js, Express.js, dan Supabase sebagai backend database.
API ini menyediakan endpoint CRUD (Create, Read, Update, Delete) untuk mengelola daftar sepatu yang sedang dicuci.
Sistem ini dibuat untuk membantu pengelolaan data sepatu di layanan cuci sepatu.
Admin dapat menambah, memperbarui, menghapus, dan melihat status cuci sepatu pelanggan dengan mudah melalui endpoint API.
Proyek ini dibuat untuk memenuhi tugas pembuatan REST API sederhana menggunakan Node.js, Express.js, dan Supabase, serta deployment ke Vercel.
- Mengimplementasikan konsep CRUD dalam REST API.
- Menyediakan API untuk operasional cuci sepatu.
- Mempermudah integrasi dengan dashboard admin.
- Mengelola data sepatu pada database Supabase.
- Menambah data sepatu →
POST /api/shoes - Melihat daftar sepatu →
GET /api/shoes - Memperbarui/mengubah status sepatu →
PUT /api/shoes/:id - Menghapus data sepatu →
DELETE /api/shoes/:id - Filter berdasarkan status →
GET /api/shoes?status=Selesai
Contoh struktur data sepatu yang disimpan:
{
"id": "1",
"customerName": "Fufufafa",
"shoeType": "Nike Air Force 1",
"serviceType": "Cuci",
"status": "Sedang Dicuci",
"tanggalMasuk": "2025-10-08",
"tanggalSelesai": "-"
}id→ Nomor unik sepatucustomerName→ Nama pemilik sepatushoeType→ Jenis atau merek sepatuserviceType→ Jenis layanan cuci sepatustatus→ Status proses cuci (Sedang Dicuci/Selesai)tanggalMasuk→ Tanggal sepatu diterima untuk dicucitanggalSelesai→ Tanggal sepatu selesai dicuci
Endpoint:
GET /api/shoe-cleaning
Contoh Response:
[
{
"id": 1,
"customer_name": "Fufufafa",
"shoe_type": "Nike Air Force 1",
"status": "Proses",
"created_at": "2025-10-21T10:00:00Z"
}
]Endpoint:
POST /api/shoe-cleaning
Request Body:
{
"customer_name": "Fufufafa",
"shoe_type": "Nike Air Force 1",
"status": "Proses"
}Response (201):
{
"success": true,
"data": {
"id": 1,
"customer_name": "Fufufafa",
"shoe_type": "Nike Air Force 1",
"service_type": "Cuci",
"status": "Pending",
"notes": "-",
"created_at": "2025-10-23T00:00:00Z"
}
}Endpoint:
PUT /api/shoe-cleaning/id
Contoh Command (cURL):
curl -X PUT "http://localhost:3000/api/shoe-cleaning/2" -H "Content-Type: application/json" -d '{
"status": "Selesai",
"notes": "Sudah selesai dicuci"
}'Response (200):
{
"success": true,
"data": {
"id": 1,
"status": "Selesai",
"notes": "Sudah selesai dicuci"
}
}Endpoint:
DELETE /api/shoe-cleaning/id
Contoh:
DELETE http://localhost:3000/api/shoe-cleaning/2
Response:
{
"success": true,
"message": "Item deleted successfully"
}git clone https://github.com/username/sepatu-api.git
cd sepatu-apinpm installBuat file .env di root folder proyek dan isi dengan konfigurasi berikut:
SUPABASE_URL=your_supabase_url
SUPABASE_KEY=your_supabase_anon_key
PORT=3000npm run devServer akan berjalan di:
http://localhost:3000
- Node.js – JavaScript runtime environment
- Express.js – Framework untuk membuat REST API
- Supabase – Database PostgreSQL dan autentikasi bawaan
- Vercel – Platform untuk deployment
Masuk ke Vercel dan hubungkan dengan akun GitHub.
- Pilih repository API-Sepatu.
- Tambahkan variabel environment dari file
.envke menu Settings → Environment Variables. - Klik Deploy.
https://api-sepatu.vercel.app/
- Pengguna mengirimkan permintaan HTTP (
GET,POST,PUT,DELETE) ke server. - Server memproses permintaan menggunakan Express.js.
- Data disimpan dan diambil dari Supabase.
- Server mengembalikan respons dalam format JSON.