MIF_E31221305/TA_API/README.md

2.3 KiB

Project Jahit API

REST API untuk platform Project Jahit yang menghubungkan pelanggan dengan penjahit profesional.

Tentang Proyek

Project Jahit adalah aplikasi yang memungkinkan pelanggan mencari penjahit terdekat, melakukan pemesanan jasa, dan melacak status pesanan. Penjahit dapat mengelola toko, layanan, galeri, dan booking.

Teknologi

  • Laravel 10
  • MySQL
  • Laravel Sanctum (Autentikasi)

Fitur Utama

  • Registrasi dan login untuk pelanggan, penjahit, dan admin
  • Pencarian penjahit berdasarkan spesialisasi
  • Pemesanan jasa jahit
  • Manajemen booking
  • Pembayaran (mock)
  • Rating dan ulasan
  • Galeri hasil jahitan
  • Manajemen layanan
  • Dashboard untuk semua role

Instalasi

# Clone repository
git clone https://github.com/username/project-jahit-api.git
cd project-jahit-api

# Install dependencies
composer install

# Salin file .env.example ke .env
cp .env.example .env

# Generate application key
php artisan key:generate

# Setup database di file .env
# DB_DATABASE=project_jahit
# DB_USERNAME=root
# DB_PASSWORD=

# Migrasi dan seed database
php artisan migrate --seed

# Buat symlink untuk storage
php artisan storage:link

# Jalankan server development
php artisan serve

Endpoints API

API menyediakan berbagai endpoint untuk semua fitur. Dokumentasi lengkap dapat diakses melalui:

http://localhost:8000/docs

atau dengan membuka file documentation.md untuk format Markdown.

Struktur Folder

  • app/Http/Controllers/Api - API controllers
  • app/Models - Model data aplikasi
  • database/migrations - Migrasi database
  • routes/api.php - Definisi route API
  • storage/app/public - Storage untuk file yang diupload
  • resources/views/api-docs.blade.php - Halaman dokumentasi API

Role Pengguna

Aplikasi memiliki 3 role dengan hak akses berbeda:

  1. Admin - Mengelola seluruh data
  2. Penjahit - Mengelola profil toko, layanan, dan booking
  3. Pelanggan - Mencari penjahit, membuat booking, dan memberikan rating

Pengujian

# Menjalankan unit test
php artisan test

Akses File Media

File yang diupload dapat diakses melalui URL:

http://localhost:8000/storage/{path}

Contoh:

http://localhost:8000/storage/design_photos/file.jpg
http://localhost:8000/storage/gallery_photos/photo.jpg
http://localhost:8000/storage/profile_photos/avatar.jpg