Developed | January 19, 2022

GCTA Automation System (Mobile)

A mobile application automating GCTA monitoring for PDLs, ensuring accuracy and transparency while eliminating paperwork.

React Native
JavaScript
Native Base
Node.js
Express.js
Globe Labs API
MongoDB
Git
Genymotion
Vercel Blob
Railway
Heroku
DigitalOcean Spaces
RB

This freelance project, developed as a project thesis for college students, focuses on creating a mobile application designed to automate the monitoring of GCTA (Good Conduct Time Allowance) for Persons Deprived of Liberty (PDLs). The mobile app ensures that GCTA allocation is accurate, while also generating approval reports and storing data in a digital format, effectively replacing traditional paper-based record keeping. By streamlining the process, the system promotes transparency, reduces the risk of human error, and helps to prevent misconduct. Completed within a 1-month timeframe, the mobile application will be implemented by the BJMP, replacing their previous system that relied heavily on Microsoft Excel.

Features

A mobile application 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.

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.

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.

Screenshots

RB
RB
RB

Tech Stack

This project is built using reliable tools, ensuring smooth maintenance and an efficient, enjoyable development experience.

Frontend

React Native v0.66.4Used for building the mobile application, allowing the creation of cross-platform apps with a native look and feel, while enabling code reuse between iOS and Android. It provides a seamless development experience with faster iteration and real-time updates.

JavaScript Used as the main scripting language, facilitating dynamic client-side functionality and interactions.

Native Base v3.3.0Used to create a consistent and accessible user interface, offering a rich collection of pre-built components that enhance the development of responsive and visually appealing mobile applications.

Backend

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.

DevOps

Git Utilized for version control, enabling efficient tracking of code changes, collaboration across teams, and seamless management of project history and updates.

Genymotion Used as the Android emulator for testing and debugging the mobile application, providing a reliable virtual environment to simulate different devices and configurations for a smoother development process.

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.

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.

© 2025 Rommel Christian Baes. All rights reserved.
This website was developed with Next.js and styled using Tailwind CSS.