> ## Documentation Index
> Fetch the complete documentation index at: https://itec-docs.digitcodestudio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Tech Stack & Infrastruktur Zero Downtime

> Arsitektur teknologi modern: Golang versi terbaru, Next.js latest, MySQL ratusan juta data, Backblaze B2, Jenkins CI/CD, dan Docker Zero Downtime VPS

## Gambaran Ekosistem Teknologi

Sistem LIMS PT ITEC Solution Indonesia dirancang dengan standar *enterprise-grade* untuk memastikan performa tinggi, skalabilitas data masif, keandalan operasional, dan ketersediaan layanan tanpa henti (*zero downtime*).

> [card] Website Landing Page
>
> Portal informasi publik resmi:\
> \[[https://itec-indonesia.com](https://itec-indonesia.com)]\([https://itec-indonesia.com](https://itec-indonesia.com))

> [card] Dashboard Admin & Portal Klien
>
> Pusat operasional laboratorium dan klien:\
> \[[https://portal.itec-indonesia.com](https://portal.itec-indonesia.com)]\([https://portal.itec-indonesia.com](https://portal.itec-indonesia.com))

***

## 1. Backend: Golang Versi Terbaru

Layanan backend inti (`itec-api`) dibangun dengan **Go (Golang) versi terbaru** yang terkenal dengan efisiensi memori luar biasa dan konkurensi native:

* **Arsitektur Modular & Bersih**: Kode diorganisir dalam paket terpisah (handler, service, repository) dengan aturan ketat di bawah 500 baris per berkas.
* **Konkurensi Ringan (*Goroutines*)**: Menangani ribuan permintaan pengujian laboratorium, kalkulasi matriks, dan antrean notifikasi secara paralel dengan beban CPU minimal.
* **Microservices & Gin Engine**: Routing HTTP berkecepatan tinggi dengan overhead mikrodetik.
* **Koneksi Database Teroptimasi**: Konfigurasi koneksi pool (*connection pooling*) dinamis yang adaptif terhadap lonjakan beban transaksi.

***

## 2. Frontend: Next.js Versi Terbaru

Antarmuka pengguna terpadu untuk dashboard operasional internal dan portal mandiri klien menggunakan **Next.js (App Router) versi terbaru**:

* **Server-Side Rendering (SSR) & Server Components**: Memastikan waktu muat awal (*First Contentful Paint*) sangat cepat dan keamanan data internal terjaga.
* **TypeScript Penuh**: *Type-safety* ketat dari level API hingga komponen antarmuka untuk mencegah *runtime error*.
* **Tailwind CSS & Atomic Design**: Sistem desain modern bernuansa navy korporasi `#0f3b75`, tata letak responsif di seluruh perangkat, dan bebas dari dependensi yang memperlambat browser.
* **Komponen DataTable Cepat**: Pagination terstandar `DataTablePagination` yang memuat data ribuan baris tanpa freeze.

***

## 3. Database: MySQL Terstandarisasi (Skala Ratusan Juta Data)

Penyimpanan data relasional mengandalkan **MySQL** dengan konfigurasi arsitektur basis data yang telah distandarisasi untuk menangani **ratusan juta data transaksi pengujian**:

* **Normalisasi & Desain Skema Terstandar**: Skema relasional yang bersih dengan relasi foreign key terindeks penuh untuk menjamin integritas data ACID (*Atomicity, Consistency, Isolation, Durability*).
* **Strategi Indexing Efisien**: Penggunaan indeks B-Tree majemuk (*composite indexing*) pada kolom query frekuensi tinggi seperti `quotation_number`, `client_id`, `status`, dan `created_at`.
* **Partisi Tabel (*Table Partitioning*)**: Tabel log hasil uji, riwayat raw data analis, dan audit trail dipartisi berdasarkan rentang waktu (*range partitioning*) per tahun dan per matriks pengujian.
* **Optimasi Buffer Pool InnoDB**: Alokasi InnoDB Buffer Pool hingga 75% memori server untuk menjaga indeks dan data aktif tetap berada di RAM.

***

## 4. Pengelolaan Penyimpanan: Backblaze B2 Object Storage

Seluruh berkas dokumen biner berukuran besar dikelola secara aman di **Backblaze B2 Cloud Object Storage**:

* **Penyimpanan Dokumen Resmi LHU**: Berkas PDF sertifikat sah bertanda tangan digital SHA-256 disimpan dengan proteksi akses privat.
* **Arsip Bukti Transaksi & Lapangan**: Dokumen PO/SPK klien, slip transfer bank, foto sampling lapangan, dan rekaman instrumen.
* **Kompatibilitas S3 API**: Terhubung via protokol AWS S3 SDK standar dengan waktu akses milidetik.
* **Pre-signed URL Terenkripsi**: Tautan unduhan berkas hanya dapat diakses melalui token bertenggat waktu (*expiring signed URL*) untuk mencegah pencurian dokumen.

***

## 5. DevOps: Jenkins CI/CD Pipeline

Otomasi integrasi dan pengiriman perangkat lunak dikelola secara terpusat oleh **Jenkins**:

```mermaid theme={null}
flowchart LR
    A["Git Push Main"] --> B["Jenkins Trigger"]
    B --> C["Automated Testing & Lint"]
    C --> D["Docker Build Image"]
    D --> E["Push Registry"]
    E --> F["Zero Downtime Deploy VPS"]
```

* **Otomatisasi Pengujian**: Jenkins menjalankan *unit tests*, validasi skema database, dan *type check* sebelum proses build.
* **Multi-Stage Docker Builds**: Menghasilkan *image container* minimalis dengan keamanan terisolasi.
* **Notifikasi Pipeline**: Notifikasi instan ke tim operasional mengenai status keberhasilan atau kegagalan *deployment*.

***

## 6. Deployment VPS: Docker Zero Downtime

Aplikasi dideploy pada Virtual Private Server (VPS) berkinerja tinggi menggunakan arsitektur **Docker Zero Downtime**:

* **Nginx Reverse Proxy & Load Balancer**: Nginx bertindak sebagai gerbang terdepan yang mendistribusikan lalu lintas ke container aplikasi aktif.
* **Mekanisme Blue-Green / Rolling Replacement**: Saat versi baru dideploy, container baru dijalankan terlebih dahulu dan diperiksa kesehatannya (*healthcheck*). Setelah container baru siap menerima koneksi, Nginx dialihkan secara halus (*graceful reload*) dan container lama dihentikan.
* **Tanpa Interupsi Pengguna**: Pengguna yang sedang menginput data atau mencetak LHU tidak akan mengalami pemutusan koneksi (*zero packet drop*).
* **Restart Otomatis & Pemantauan**: Docker Daemon dikonfigurasi dengan kebijakan `restart: always` dan healthcheck berkala setiap 10 detik.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.