Skip to content

Latest commit

 

History

History
81 lines (66 loc) · 3.81 KB

File metadata and controls

81 lines (66 loc) · 3.81 KB

Laporan Progres Pengembangan Backend - Keseluruhan Sistem

Tanggal: 11 April 2026 Status: ✅ Stabil & Siap Masuk Tahap Testing Lanjutan

1. Modul: Authentication & User Management

  • Keamanan Password: Implementasi hashing menggunakan Argon2id (standard industri) untuk proteksi data pengguna.
  • JWT System: Pengaturan sistem token (Access & Refresh Token) sudah stabil, termasuk mekanisme validasi middleware untuk route yang diproteksi.
  • Super Admin: Penambahan route pendaftaran Super Admin khusus untuk inisialisasi sistem.

2. Modul: Blog Management

  • Schema Consistency: Sinkronisasi model Blog dengan database, terutama pada bagian user_id sebagai author dan field kategori yang kini menggunakan format text array.
  • Multipart Upload: Perbaikan penanganan upload thumbnail blog menggunakan Multipart Form-Data yang terintegrasi dengan MinIO.
  • Filter & Search: Pengoptimalan query pencarian blog berdasarkan kategori.

3. Modul: Gallery & Storage Integration

  • MinIO Decoupling: Memperbaiki logika upload agar tidak crash saat menangani file besar dengan memutus ketergantungan konteks request yang terlalu ketat.
  • Auto-Naming: Implementasi sistem penamaan file unik (UUID + Timestamp) untuk mencegah penumpukan file dengan nama yang sama di MinIO.
  • Cascade Delete: Menangani penghapusan data Gallery agar tidak melanggar constraint foreign key pada tabel lain (Work/Blog).

4. Modul: Work (Project) Management

  • Service Layer Refactoring: Migrasi total ke pola Service Layer untuk memisahkan logika bisnis dan handler (sejalan dengan best practice Go).
  • Safe Insertion: Menambahkan pre-check validasi untuk memastikan ID Gallery dan ID Pengurus tersedia sebelum data disimpan.

5. Perbaikan Sistem & Database (Umum)

  • Migration Cleanup: Konsolidasi file migration (000004 hingga 000013) untuk menghilangkan tabel redundan (works vs work) dan memperbaiki tipe data kolom.
  • API Testing Suite: Penyediaan file api_testing.http yang mencakup seluruh endpoint (Login -> Pengurus -> Gallery -> Blog -> Work) untuk mempermudah tim QA.
  • Docker Stability: Optimasi Dockerfile dengan pinning version (Alpine 3.20 & Go 1.25) guna meminimalisir kegagalan build akibat masalah jaringan.

6. Progres Keseluruhan

Fitur Status Keterangan
Auth ✅ Done Stabil
Blog ✅ Done Stabil
Gallery ✅ Done Support MinIO
Work ✅ Done Refactored
Storage ✅ Done MinIO Ready

7. Tets API

check on BackEnd/api_testing.http

8. Insert Admin

docker compose exec -T db psql -U postgres -d dbdoscom <<-'EOSQL' INSERT INTO users (username, email, password, role, full_name, created_at, updated_at) VALUES ( 'admin', 'admin@doscom.org', '$argon2id$v=19$m=65536,t=1,p=4$6it7jP6Yx3YshN2A2V3n8Q$Y9fF/D0+O+u6p9k7l0O2P3u5P6q7R8s9T0u1V2W3X4Y', 'SuperAdmin', 'Administrator', NOW(), NOW() ) ON CONFLICT (username) DO UPDATE SET password = EXCLUDED.password, email = EXCLUDED.email; EOSQL

Insert Admin/SuperAdmin Baru via API

Jika Anda sudah memiliki akses SuperAdmin, Anda bisa membuat admin baru melalui API:

POST http://localhost:3000/api/v1/user/admin

Headers:

  • Authorization: Bearer <token_anda>
  • Content-Type: application/json

Body (JSON):

{
    "username": "admin_baru",
    "email": "admin2@doscom.org",
    "password": "password123",
    "role": "SuperAdmin",
    "fullname": "Administrator Kedua"
}

Tip

Endpoint /user/admin akan otomatis memberikan role SuperAdmin ke user baru tersebut. Jika ingin membuat role lain (Pemro, Jaringan, dsb), gunakan endpoint POST /api/v1/user.

Laporan ini mencakup seluruh rangkaian perbaikan kritis dan pengembangan fitur baru sejak fase stabilisasi backend dimulai.