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
Terverifikasi21 domains
Domain backend, dengan 110 migrasi database dan 51 spec
Dihitung dari repositori; produk ini tidak punya fitur AI
Terverifikasi4.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
- ManusiaVendorsOnboarding, dokumen, invoice
- ManusiaInternal approversPengadaan, akuntansi, pajak
- KlienNext.js portalUI dan BFF, sesi tersegel
- LayananFastAPI backend21 domain, peran dicek per request
- DataPostgreSQLFlexible Server, 110 migrasi
- DataBlob StorageDokumen, upload langsung dari browser
- EksternalEntra IDSingle sign-on staf
- 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)