YASSIR/ yassir.dev
Back to Projects
01Web Application / Administration System

Dashboard Kepegawaian P3K

Integrated Personnel Dashboard for P3K Employees at the Ministry of Marine Affairs and Fisheries

Internal personnel management and administrative dashboard developed during my internship at the Ministry of Marine Affairs and Fisheries (KKP) to centralize employee records, automate rank promotion tracking, and validate field attendance with geospatial coordinates.

Role
Data Analyst & Information Intern
Timeline
2026
Context
Kementerian Kelautan dan Perikanan (KKP)
Next.jsTypeScriptReactPostgreSQLPrisma ORMTailwind CSSRBAC
System Interface / Primary Overview

Administrative authentication portal with credential verification and session protection.

Visual Evidence

Interface Modules & Workflows

[02]Main administrative dashboard showing key personnel metrics, department distributions, and recent operational logs.
[03]Centralized employee registry with multi-parameter filtering, NIP search, and structural rank indicators.
[04]Individual civil servant service dossier detailing employment history, official credentials, and operational assignments.
[05]Promotion monitoring interface flagging eligible personnel for periodic rank elevation reviews.
[06]Attendance detail view capturing check-in timestamps, GPS latitude/longitude, and work location radius validation.
[07]Attendance reporting engine generating monthly attendance aggregates with Excel spreadsheet export.
[08]User account management implementing role assignment across operators, administrators, and supervisors.
01 // Background

Context & Problem Statement

The Directorate of Coastal and Small Island Utilization (Direktorat P3K) at KKP managed employee dossiers across disparate spreadsheets, resulting in data inconsistency and slow retrieval during administrative audits.

Attendance records for field personnel lacked verification mechanisms, making it difficult to confirm presence within designated coastal work locations.

Monitoring rank elevation schedules (Kenaikan Pangkat) relied on manual calendar checks, occasionally causing delays in processing required personnel paperwork.

Target Objectives
  • [01]Consolidate civil servant records into a single relational database with strict schema validation.
  • [02]Incorporate GPS coordinate capture into the daily attendance workflow for location verification.
  • [03]Provide automated eligibility tracking for rank promotions and fast Excel report generation.
02 // Strategy

Technical Approach & Key Decisions

Designed the application as an internal operational tool using Next.js and Prisma ORM, prioritizing fast data entry, role-separated administrative views, and reliable report generation.

Relational Schema with Prisma

Structured relational models (Employee, Attendance, PromotionRecord, User) in PostgreSQL to enforce referential integrity and prevent orphaned records.

Strict Multi-Tier RBAC

Separated operational capabilities into Admin, Operator, and Viewer roles to safeguard sensitive personnel data while supporting day-to-day administrative processing.

Server-Side Excel Generation

Implemented report export workflows on the server to handle monthly attendance aggregations without blocking browser rendering threads.

03 // System Architecture

Architecture & Layer Breakdown

Built with Next.js App Router, using Server Components for initial data fetching and secure route handlers for transactional updates against a PostgreSQL database managed through Prisma ORM.

Layer 01

Presentation Layer

Responsive Next.js and Tailwind CSS interfaces optimized for high-density administrative workflows and data tables.

Components
  • Server-rendered data tables
  • Modal-based detail drawers
  • Role-conditioned navigation
Layer 02

Application & Logic Layer

Route handlers and server actions validating input, verifying session tokens, and enforcing permissions.

Components
  • Session token validation
  • Geospatial coordinate verification
  • Excel buffer compilation
Layer 03

Data Layer

PostgreSQL relational persistence with Prisma client delivering type-safe queries and schema migrations.

Components
  • Prisma schema definitions
  • Employee NIP indexes
  • Attendance timestamp indexing
Architecture // System Integration

System Integration

The P3K personnel dashboard and the Attendance Management System are implemented as separate web applications that share a PostgreSQL data layer. The personnel dashboard manages employee and organizational information, while the attendance application handles attendance records and related workforce workflows. Shared relational entities allow information to remain connected across both applications.

Shared relational entities allow employee and organizational data to remain associated with attendance records across both applications.

Ecosystem Architecture & Persistence Boundary
Application 01Current System

P3K Personnel Dashboard

Personnel & Employee Management
  • •Employee master data registry and service dossier records
  • •Organizational hierarchy, departments, and section structure
  • •Rank promotion tracking and civil service promotion ledgers
  • •User account provisioning and administrative role assignments
Shared PostgreSQL Data Layer
Application 02

Attendance Management System

Attendance & Workforce Workflows
  • •Daily attendance check-in and check-out tracking (WFO and WFH)
  • •Browser GPS coordinate capture and office radius validation
  • •Leave and sick permit submission with document uploads
  • •Official duty assignment (Surat Tugas) and meeting workflows
Persistence Layer:PostgreSQL Database (Shared relational models: users, employees, sections, interns, attendances, and surat_tugas)
Related Project:Attendance Management System
04 // Functionality

Core Administrative Modules

Personnel Master Registry

Database

Complete database of personnel records with multi-parameter filtering by division, rank, employment status, and NIP search.

Geospatial Attendance Verification

Location

Captures daily check-in timestamps along with device GPS latitude and longitude to verify presence within defined operational boundaries.

Promotion Eligibility Tracker

Automation

Automates the monitoring of employee tenures and flags upcoming promotion eligibility deadlines for administrative review.

Administrative Excel Export

Reporting

Generates formatted monthly attendance and personnel summary spreadsheets directly for departmental archiving.

Role-Based Access Control

Security

Granular access controls restricting administrative actions, account creation, and record editing by role.

Outcome

Results & Impact

Successfully centralized employee administrative operations at Directorate P3K, replacing fragmented spreadsheet files with a unified relational system.

Eliminated manual calculation of monthly attendance totals through one-click formatted Excel exports.

Established transparent promotion tracking, ensuring personnel credentials are reviewed on schedule.

Engineering Notes

Challenges & Considerations

  • •Handling intermittent GPS accuracy in field coastal offices required implementing reasonable coordinate tolerance thresholds rather than rejecting check-ins entirely.
  • •Structuring database relations to account for historical promotion logs without mutating active service records required dedicated promotion ledger tables.
Retrospective

Key Learnings

  • •Building tools for civil service workflows reinforced that software utility in administrative contexts depends on predictable forms, clean validation errors, and straightforward data exports rather than decorative UI elements.