Dashboard Kepegawaian P3K
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.
Administrative authentication portal with credential verification and session protection.
Interface Modules & Workflows
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.
- [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.
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.
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.
Presentation Layer
Responsive Next.js and Tailwind CSS interfaces optimized for high-density administrative workflows and data tables.
- Server-rendered data tables
- Modal-based detail drawers
- Role-conditioned navigation
Application & Logic Layer
Route handlers and server actions validating input, verifying session tokens, and enforcing permissions.
- Session token validation
- Geospatial coordinate verification
- Excel buffer compilation
Data Layer
PostgreSQL relational persistence with Prisma client delivering type-safe queries and schema migrations.
- Prisma schema definitions
- Employee NIP indexes
- Attendance timestamp indexing
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.
P3K Personnel Dashboard
- •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
Attendance Management System
- •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
Core Administrative Modules
Personnel Master Registry
DatabaseComplete database of personnel records with multi-parameter filtering by division, rank, employment status, and NIP search.
Geospatial Attendance Verification
LocationCaptures daily check-in timestamps along with device GPS latitude and longitude to verify presence within defined operational boundaries.
Promotion Eligibility Tracker
AutomationAutomates the monitoring of employee tenures and flags upcoming promotion eligibility deadlines for administrative review.
Administrative Excel Export
ReportingGenerates formatted monthly attendance and personnel summary spreadsheets directly for departmental archiving.
Role-Based Access Control
SecurityGranular access controls restricting administrative actions, account creation, and record editing by role.
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.
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.
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.