A web-based system automating GCTA monitoring for PDLs, ensuring accuracy and transparency while eliminating paperwork.
This freelance project, developed as a project thesis for college students, focuses on creating a web-based system to automate the monitoring of GCTA (Good Conduct Time Allowance) for Persons Deprived of Liberty (PDLs). The system ensures accurate GCTA allocation, generates approval reports, and stores data digitally, replacing paper-based records. It enhances transparency, reduces human error, and prevents misconduct. Completed in 1 month, the system will be implemented by BJMP, replacing their previous reliance on Microsoft Excel.
A web system for BJMP automating GCTA monitoring for PDLs, ensuring accurate data tracking, transparency, and replacing manual Excel-based processes.
Dashboard — Provides an overview of key metrics, including total registered PDLs, system users, branches, and crimes. It features charts for the top GCTA, TASTM, and STAL earners, a donut chart for common penalties, and a summary of the top 10 crimes committed.
Time Allowance Database — Allows editing of a PDL's profile, including the option to upload their picture. Users can also generate individual GCTA certificates for each PDL.
Monitoring — Tracks and oversees GCTA progress and updates.
Monthly Report — Generates monthly reports summarizing GCTA data.
Annual Report — Generates comprehensive annual reports on GCTA statistics.
Group Certification — Enables the selection of multiple PDLs to generate a collective certificate, with an option to generate certificates for court reports.
Administration — Users can add, edit, or delete branches and manage the list of crimes. It includes user management, allowing users to be added, edited, or deleted, with customizable roles to restrict access to specific menus or functions (e.g., adding, deleting, or editing PDL profiles or generating PDFs). The system also features activity logs to track user actions.
Profile — Users can edit their personal information and change passwords. Initially, the system included two-factor authentication via SMS OTP using the Globe API, but this was removed on August 31, 2022, due to the end of life for the Globe API as it transitioned to the m360 platform.
This project is built with the tools I trust, ensuring easy maintenance and a smooth, enjoyable development experience.
React v17.0.2 — Used to create a dynamic, interactive user interface with reusable components, improving the overall user experience.
JavaScript — Used as the primary scripting language to implement dynamic client-side functionality and interactions.
Ant Design v4.17.4 — Applied to build a responsive and accessible design, providing a set of ready-to-use components with a consistent look and feel.
Node.js — Utilized for server-side development, Node.js handles backend operations efficiently, enabling real-time functionality and seamless communication between the server and client.
Express.js — Used as a lightweight framework to streamline server-side development, simplifying the creation of APIs and handling of HTTP requests, while maintaining flexibility and performance.
Globe Labs API — Was initially used for implementing two-factor authentication via SMS OTP. However, it was discontinued after August 31, 2022, when Globe transitioned the service to the m360 platform, marking the end of life for the Globe Labs SMS API.
MongoDB — Employed as the database solution, offering a flexible, document-oriented structure that simplifies data storage and retrieval, ensuring scalability and efficient handling of large datasets.
Git — Utilized for version control, enabling efficient tracking of code changes, collaboration across teams, and seamless management of project history and updates.
Vercel — Used for hosting and deploying frontend applications with a focus on fast, scalable, and reliable deployments, integrating seamlessly with version control systems like GitHub for continuous deployment.
Vercel Blob — Used to store PDL images, providing efficient and scalable image management integrated with the Vercel platform.
Railway — Used for hosting my Node.js API, providing seamless deployment, automatic scaling, and easy integration with databases and other services.
Netlify — Was my former hosting platform for front-end applications, offering features like continuous deployment and serverless functions for easy management of builds and deployments.
Heroku — Was my former hosting platform for my Node.js API, providing easy deployment, scaling, and management of backend services.
DigitalOcean Spaces — Was my previous platform for storing images, offering scalable and secure object storage.