Langsung ke konten

← Kembali ke Labs

L3:vendor-management-portal · Software Wing · Unggulan

Portal Manajemen Vendor

Purchase order, invoice, verifikasi pajak, dan approval, saya kerjakan sendiri dalam sekitar enam minggu.

Peran
Satu-satunya engineer sekaligus operator: saya rancang, arahkan, review, dan rilis bersama AI coding agents
Periode
Agu 2026 hingga Okt 2026

Hasil

  • ~6 weeks

    Dari commit pertama sampai portal ter-deploy, dengan saya sebagai satu-satunya engineer

    Riwayat repositori, 21 Agu sampai 4 Okt 2026

    Terverifikasi
  • 21 domains

    Domain backend, dengan 110 migrasi database dan 51 spec

    Dihitung dari repositori; produk ini tidak punya fitur AI

    Terverifikasi
  • 4.4 KB → 2.1 KB

    Ukuran cookie sesi setelah memperbaiki kegagalan login di production

    Diukur saat perbaikan di production, tercatat di repositori

    Terverifikasi

Masalah

Sebuah unit bisnis di grup membutuhkan portal vendor yang berpusat pada purchase order: onboarding vendor, dokumen pengiriman, invoice, verifikasi untuk beberapa jenis pajak, serta approval akuntansi dan pajak yang berjalan paralel, ditambah integrasi SAP yang tidak boleh ikut menjatuhkan portal. Arahan dari product owner datang tiap minggu, termasuk revisi proses yang disetujui pengguna dan mengubah alur kerjanya.

Yang saya kerjakan

  • Menulis 51 spec bernomor dan mengerjakannya dengan pendekatan spec-first: AI coding agents yang mengimplementasikan, saya me-review setiap pull request di balik CI yang ber-gate.
  • Memodelkan 21 domain backend dengan FastAPI dan PostgreSQL lewat 110 migrasi Alembic, lalu menata ulang alur kerja agar berpusat pada purchase order setelah revisi proses yang disetujui pengguna.
  • Menaruh SAP di balik provider port dengan retry, rate limit, dan circuit breaker, sehingga ERP yang lambat tidak ikut menjatuhkan portal; saat ini port tersebut melayani data procurement hasil seed.
  • Mengamankan login dengan single sign-on Entra ID plus akun lokal berbasis Argon2id, dengan peran yang dicek ulang di setiap request; deployment memakai Bicep, integrasi VNet, dan referensi Key Vault.
  • Menelusuri kegagalan di production sampai ke akar masalahnya: langkah build yang membuat aplikasi gagal start, race condition saat teardown login, dan cookie sesi yang terlalu besar untuk browser.

Arsitektur

  1. ManusiaVendorsOnboarding, dokumen, invoice
  2. ManusiaInternal approversPengadaan, akuntansi, pajak
  3. KlienNext.js portalUI dan BFF, sesi tersegel
  4. LayananFastAPI backend21 domain, peran dicek per request
  5. DataPostgreSQLFlexible Server, 110 migrasi
  6. DataBlob StorageDokumen, upload langsung dari browser
  7. EksternalEntra IDSingle sign-on staf
  8. EksternalSAP ERPProvider port, saat ini data seed

Alur data

  • Vendors to Next.js portal (HTTPS)
  • Internal approvers to Next.js portal (HTTPS)
  • Next.js portal to FastAPI backend (REST)
  • Next.js portal to Blob Storage (direct upload)
  • FastAPI backend to PostgreSQL (SQL)
  • FastAPI backend to Blob Storage (documents)
  • FastAPI backend to Entra ID (OIDC)
  • FastAPI backend to SAP ERP (circuit breaker)

Stack

  • Python
  • FastAPI
  • PostgreSQL
  • Alembic
  • Next.js
  • TypeScript
  • Azure App Service
  • Azure Key Vault
  • Microsoft Entra ID
  • Bicep
  • GitHub Actions
  • SAP integration

L2 · Di perjalanan karierTechnical Consultant, Software & AI · Metrodata (PT Mitra Integrasi Informatika)