Tantangannya
Dokumen tersebar yang sulit ditemukan, terbatasnya koordinasi antara pemilik, kontraktor, dan kantor teknik, serta pekerjaan yang tumpang tindih sehingga menyia-nyiakan sumber daya.
Apa yang kami bangun
Kami mengembangkan sistem untuk mengatur pekerjaan dan mengoordinasikan aktivitas di antara ketiga pihak, mengatasi dokumentasi yang terfragmentasi dalam alur kerja.
Ruang lingkup implementasi
- Mengkoordinasikan pekerjaan antara pemilik, kontraktor, dan kantor teknik.
- Mengatur dokumen dalam alur kerja dan membuatnya lebih mudah dilacak.
- Memisahkan logika domain, lapisan aplikasi, dan infrastruktur.
Arsitektur teknis
Sistem dibangun dengan C# dan .NET 10 untuk layanan backend dan APIs, TypeScript, Next.js, dan React 19 untuk antarmuka web dan lapisan backend-for-frontend (BFF), serta PostgreSQL untuk pengelolaan data dengan EF Core untuk akses data.
Arsitektur memisahkan logika domain, lapisan aplikasi, dan infrastruktur. Ia juga menggunakan kebijakan akses tingkat baris database dan skrip Python dan Bash untuk otomatisasi dan keamanan serta pemeriksaan operasional.
- Antarmuka web & BFFNext.js · React 19 · TypeScript
- Layanan sistem & APIsC# · .NET 10
- Akses dataEF Core
- Kebijakan basis data & tingkat barisPostgreSQL
Lapisan implementasi dan teknologi
| Lapisan | Teknologi |
|---|---|
| Layanan backend dan APIs | C# · .NET 10 · EF Core |
| Antarmuka web dan BFF | TypeScript · Next.js · React 19 · TSX |
| Data | PostgreSQL · SQL |
| Struktur dan gaya antarmuka | HTML · CSS · CSS Modules |
| Skrip operasi dan keamanan | JavaScript / MJS · Python · Bash / Shell |
| Konfigurasi build dan penerapan | GitHub Actions · YAML · JSON |
Keputusan implementasi
Arsitektur memisahkan logika domain dari lapisan aplikasi dan infrastruktur. Hal ini membuat setiap tanggung jawab menjadi eksplisit ketika menelusuri perubahan dari antarmuka ke data, sementara BFF menghubungkan kebutuhan antarmuka web ke layanan sistem.
Hasil dan pengalaman
Sistem ini membantu meningkatkan koordinasi, mempermudah pelacakan dokumen, dan mengatasi pekerjaan yang tumpang tindih yang menghabiskan sumber daya.
