MMZA.
PROJECT 04·Backend

AGENT

Sistem Informasi Pencatatan dan Pelaporan Agenda — Kantor Imigrasi Kelas I TPI Bandar Lampung.

ROLE

Backend Developer Intern

TIMELINE

Jul 2025 – Aug 2025

ORGANISASI

Divisi Teknologi Informasi dan Komunikasi Keimigrasian (TIKIM) — Kantor Imigrasi Kelas I TPI Bandar Lampung

PRIMARY STACK

Python · Django REST Framework · Next.js

Ikhtisar Proyek & Masalah yang Diselesaikan

AGENT (Sistem Informasi Pencatatan dan Pelaporan Agenda) merupakan sistem informasi yang dikembangkan khusus untuk Divisi Teknologi Informasi dan Komunikasi Keimigrasian (TIKIM) di Kantor Imigrasi Kelas I TPI Bandar Lampung. Sistem ini memfasilitasi pencatatan, pemantauan, dan merekapitulasi seluruh agenda kegiatan kedinasan dalam satu platform terpusat yang dapat diakses secara fleksibel.

Problem Solved

Menggantikan pencatatan agenda manual berbasis spreadsheet yang tersebar dengan sistem terpusat, mempermudah koordinasi penugasan pegawai, serta mengotomatisasi pembuatan laporan berkala berformat PDF dan Excel.

Target Pengguna

Pejabat struktural imigrasi, staf Divisi TIKIM, sekretariat kedinasan, dan masyarakat umum (akses landing page).

Model Arsitektur Sistem

Arsitektur terpisah (decoupled/microservice) dengan backend REST API berbasis Python Django REST Framework dan frontend reaktif Next.js/React, diamankan dengan cookie sesi HTTP-only JWT dan dideploy di VPS Linux (Nginx + Gunicorn + PM2).

Antarmuka & Tangkapan Layar Aplikasi

Public Landing View
Landing Page Publik & Kalender Agenda Terbuka
Klik untuk Zoom Penuh

Landing Page Publik & Kalender Agenda Terbuka

Halaman landing page publik agent.pepadun.id menyajikan statistik agenda realtime (On Going, Upcoming, Finished) dan kalender agenda kegiatan keimigrasian tanpa harus login.

Kunjungi Live

Struktur Modul & Rincian Fitur Sistem (Buku Panduan Pengguna)

Rincian 6 modul fungsional inti yang dirancang sesuai Buku Panduan Pengguna Sistem AGENT Kantor Imigrasi Kelas I TPI Bandar Lampung.

01Public Module

Halaman Landing Page Publik

Buku Panduan Hal. 03 (Sub-bab 2.2)

Menyajikan ringkasan informasi agenda keimigrasian yang dapat diakses oleh publik atau pegawai tanpa memerlukan login terlebih dahulu untuk transparansi informasi.

  • Widget statistik status agenda: On Going, Upcoming, dan Finished secara realtime.
  • Kalender interaktif bulanan yang memetakan seluruh kegiatan resmi TIKIM.
  • Navigasi cepat menuju halaman agenda publik dan tombol portal Login Admin.
02Security & Auth

Navigasi & Otentikasi Sesi Aman (Login)

Buku Panduan Hal. 04 & 11 (Bab 4 & Bab 7)

Mekanisme login admin yang terlindungi untuk mengontrol akses penambahan, penyuntingan, dan pembuatan laporan agenda kedinasan.

  • Otentikasi aman menggunakan JSON Web Token (JWT) yang disimpan dalam secure HTTP-only cookies.
  • Pencegahan serangan Cross-Site Scripting (XSS) dan token hijacking pada komputer kantor bersama.
  • Fitur Logout bersih untuk mengakhiri sesi kerja dan membersihkan credential sesi.
03Admin Core

Dashboard Admin Terintegrasi

Buku Panduan Hal. 05 (Bab 5)

Pusat komando visual pasca-login yang memuat ringkasan komprehensif seluruh operasional agenda divisi keimigrasian.

  • Tampilan ringkasan metrik statistik agenda aktif dan yang akan datang.
  • Kartu sorotan agenda yang sedang berlangsung (On Going) beserta detail lokasi dan jam.
  • Sidebar navigasi modular untuk akses instan ke Agenda, Input, Pelaporan, dan Partisipan.
04Agenda CRUD

Pengelolaan Agenda (Input, Filter & CRUD)

Buku Panduan Hal. 06–08 (Bab 5.1 – 5.3)

Modul lengkap untuk mencatat, mencari, mengubah, dan menghapus data agenda kedinasan dengan alur validasi terstruktur.

  • Form input agenda komprehensif: Nama Agenda, Deskripsi, Tanggal Mulai/Selesai, Waktu, Lokasi, dan Partisipan.
  • Penyaringan fleksibel berdasarkan Filter Status (Semua Status / On Going / Upcoming / Finished), Bulan, dan Tahun.
  • Fitur pencarian nama agenda instan dan konfirmasi modal keamanan sebelum penghapusan data.
05HR & Delegation

Manajemen Partisipan Internal

Buku Panduan Hal. 09 (Sub-bab 6.1)

Pengelolaan daftar staf dan pegawai keimigrasian yang bertugas dalam setiap agenda kedinasan.

  • Pencatatan data pegawai meliputi Nama Lengkap, NIP (Nomor Induk Pegawai), dan Jabatan Struktural.
  • Alur penugasan partisipan cepat ke dalam formulir pembuatan agenda baru.
  • Kemudahan menambah dan menghapus penugasan personil dari daftar partisipan divisi.
06Reporting Engine

Otomatisasi Pelaporan (Ekspor PDF & Excel)

Buku Panduan Hal. 10 (Sub-bab 6.2)

Mesin otomatisasi rekapitulasi data agenda resmi dengan filter rentang waktu dan ekspor instan berkas ke format dokumen standar institusi.

  • Tabel rekapitulasi agenda terstruktur menampilkan nama kegiatan, rentang tanggal, waktu, lokasi, dan status.
  • Tombol 'Ekspor PDF' sekali klik untuk pembuatan dokumen laporan resmi siap cetak bagi pimpinan.
  • Tombol 'Ekspor Excel' untuk kebutuhan analisis tabulasi data lanjutan dan arsip spreadsheet dinas.

Tim Pengembang & Penugasan Proyek

Buku Panduan Hal. 13
NIP: 122140215

Dimas Dharma Wicaksono

Project Manager

NIP: 122140240You

Muhammad Zahran Albara

Backend Developer

NIP: 122140217

Yohanes Christian Panjaitan

Fullstack Developer

NIP: 122140218

Muhammad Sabda Arif

Front End Developer

Dokumentasi sistem dan tata kelola diakui secara resmi dalam Buku Panduan Pengguna Sistem Informasi AGENT untuk Kantor Imigrasi Kelas I TPI Bandar Lampung.

Implementasi Teknis & Rekayasa Sistem

01

Django REST Framework Backend & Query Optimization

Membangun arsitektur backend REST API yang modular menggunakan Python Django REST Framework untuk mengelola transaksi agenda, partisipan, dan logika pelaporan.

  • Menerapkan endpoint CRUD terstruktur dengan validasi parameter ketat dan filtering berlapis (status, bulan, tahun).
  • Optimasi queryset relational dengan prefetch_related untuk mencegah N+1 query overhead saat mengekspor ratusan agenda.
  • Membangun serializer dinamis yang memetakan relasi partisipan pegawai secara efisien.
02

Otentikasi Aman JWT dalam HTTP-Only Cookie

Mengimplementasikan sistem keamanan sesi tingkat enterprise menggunakan JSON Web Tokens yang diisolasi dalam cookie HTTP-only yang aman.

  • Mengisolasi access token dan refresh token dari akses JavaScript client-side guna memitigasi risiko XSS.
  • Mekanisme rotasi refresh token otomatis untuk menjaga sesi aktif staf tanpa meminta login berulang.
  • Middleware validasi hak akses untuk melindungi route administrasi, edit data, dan endpoint ekspor laporan.
03

Otomatisasi Generator Berkas Laporan (PDF & Excel)

Merancang modul export builder di sisi server yang mampu mengompilasi data agenda terpilih menjadi dokumen PDF siap cetak dan file spreadsheet Excel (.xlsx).

  • Pipeline rendering PDF dengan styling baku format laporan resmi kedinasan pemerintah.
  • Ekspor tabulasi Excel dengan header dinamis sesuai rentang bulan dan filter yang dipilih.
  • Mekanisme streaming file biner untuk meminimalkan beban memori server saat unduhan file berukuran besar.

Hasil Kunci & Dampak Operasional

1-ClickPDF & Excel Export

Otomatisasi pembuatan laporan agenda berkala siap cetak menggantikan rekapitulasi manual staf.

Secure JWTHTTP-Only Cookies

Pencegahan kebocoran kredensial dengan penyimpanan token otentikasi di cookie terenkripsi.

6 ModulSistem Terintegrasi

Mencakup Landing Page, Auth, Dashboard, Agenda CRUD, Partisipan, hingga Pelaporan Ekspor.

ProductionLive Deployment

Beroperasi aktif di domain agent.pepadun.id melayani koordinasi agenda kedinasan TIKIM.

Teknologi & Framework yang Digunakan

PythonDjango REST FrameworkNext.jsPostgreSQLJWTHTTP-Only CookieLinux VPSNginxGunicornPM2

Alur Pengembangan (SDLC Phase)

PHASE 01

Analisis Alur Kerja Kedinasan

Mengkaji alur pencatatan agenda harian dan format baku buku panduan pelaporan bersama staf Divisi TIKIM Kantor Imigrasi.

PHASE 02

Desain Skema & API Backend

Merancang model basis data relasional untuk agenda, data partisipan staf (NIP/Jabatan), dan otentikasi admin di Django.

PHASE 03

Integrasi Frontend Next.js & UI

Menghubungkan antarmuka dashboard, kalender agenda, dan form input dengan REST API Django via cookie session aman.

PHASE 04

Pengujian Ekspor Dokumen & Keamanan

Menguji keakuratan konversi data ke format PDF/Excel dan mengaudit perlindungan token JWT terhadap eksploitasi.

PHASE 05

Penyusunan Buku Panduan & Deploy

Menerbitkan Buku Panduan Pengguna resmi dan melakukan deployment di Linux VPS (Nginx + Gunicorn + PM2) di agent.pepadun.id.

Kontribusi & Tanggung Jawab Rekayasa

  • Mengembangkan arsitektur backend REST API menggunakan Python Django REST Framework untuk seluruh modul inti sistem AGENT.
  • Merancang skema database relasional untuk entitas Agenda, Partisipan Pegawai (NIP & Jabatan), dan Log Pelaporan.
  • Mengimplementasikan otentikasi JWT tingkat tinggi dengan penyimpanan token aman di dalam secure HTTP-only cookies.
  • Membangun mesin pembuat dokumen otomatis untuk fitur 'Ekspor PDF' dan 'Ekspor Excel' pelaporan resmi berkala.
  • Melakukan deployment dan konfigurasi server pada Linux VPS menggunakan reverse proxy Nginx, WSGI Gunicorn, dan proses manager PM2.
  • Berkolaborasi bersama tim pengembang (Dimas Dharma Wicaksono, Yohanes Christian Panjaitan, Muhammad Sabda Arif) dan menyusun Buku Panduan Pengguna resmi.

Tantangan Teknis & Solusi Rekayasa

TANTANGAN REKAYASA

Keamanan sesi login pada komputer kantor bersama di lingkungan kantor imigrasi yang rawan pencurian token jika disimpan di localStorage.

SOLUSI IMPLEMENTASI

Menerapkan mekanisme secure HTTP-only cookie dengan SameSite policy ketat dan rotasi refresh token otomatis, memastikan token tidak dapat diakses melalui skrip pihak ketiga (XSS immune).

TANTANGAN REKAYASA

Kebutuhan format laporan resmi yang harus presisi sesuai tata naskah dinas keimigrasian dengan opsi filter tanggal yang dinamis.

SOLUSI IMPLEMENTASI

Membangun query builder dinamis yang memfilter data berdasarkan status dan rentang bulan, lalu memetakannya ke template rendering PDF resmi dan generator workbook Excel secara instan.

Kesimpulan & Status Proyek

Sistem informasi enterprise yang sukses diterapkan di Divisi TIKIM Kantor Imigrasi Kelas I TPI Bandar Lampung, dilengkapi Buku Panduan Pengguna resmi dan beroperasi di domain agent.pepadun.id.