Ben Gan
- ganboonhong@gmail.com
- (+65) 8283 0302
Experience
Senior Web Developer (Sgcarmart, Car Selling Platform)
Progressively turn a monolith codebase into mircoservice architecture projects.
-
Break existing monolith platform functionalities into different modules
- Each module has backend API repository and a frontend repository
- Tech stack: Laravel 11 & Next.js 14
- Upgrade existing Laravel API version (10 to 11) and PHP version (8.1 to 8.2)
- Coordinate between UI & UX designers and product managers
- Introduce 3rd party development tools to ensure code quality and keep API document up-to-date
- Maintain existing platform while refactoring jobs in process
Utilized :
- Laravel 11
- Next.js 14
Web Developer (TixCraft, Ticketing System)
Developed payment related features from internal management system to external ticketing platform.
-
Studied 3rd party API services and integrate into system
- Payment service: Adyen, Braintree, Red Dot Payment
- SMS service: CM.com, SMSGlobal
- Got Yii framework upgraded without affecting existing complicated business logics
- Introduced unit test using PHPUnit
- Upgraded Adyen SDKs to simplify payment module and make codebase more maintainable
Utilized :
- Yii2
- Oracle
- git
- Adyen
- Braintree
- Red Dot Payment
- PHPUnit
API Developer (KKday, OTA company)
Being part of 30+ backend team of company, I was in charge of the following tasks on a daily basis:
- Built REST API with Laravel
- Turned product owner requirements (business logic) into code
- Wrote Unit Test and Integration Test to make sure all the business logics are covered
- Documented API detail via Swagger
Utilized :
- Laravel
- PostgreSQL
- git
- Swagger
- Confluence
Full Stack Developer (AtomRock, Surveillance System)
At a startup company, I built the surveillance system from scratch using plain PHP and Node.js for backend and jQuery for frontend.
API for Surveillance Devices(camera, proxy device, NVR)
- Used Node.js to receive information from devices via MQTT protocol
- Receive facial detection data when proxy detected any faces
- Receive heat map data periodically after proxy collected data from camera
- Used AWS PHP SDK to access resources(images, video clips) from S3(AWS Storage)
API for Web Browser
- Designed API service structure in PHP
- Handled data validation, data integrity check and Sql Injection check
- Publish MQTT payload to devices to change devices' setting
Web User Interface
- Used jQuery to manipulate DOM and handle interaction between users and system
Database Schema
- Designed relational database schema which satisfied database normalization to reduce data redundancy and improve data integrity
Utilized :
- PHP
- Node.js
- jQuery
- MySQL
- DataTable
- jstree
- Chart.js
- AWS S3
- AWS EC2
- Mqtt
Web Developer (DewTouch, ERP System)
Developed ERP system for different companies. The ERP system include customer side modules (quotation, sales, deliver), supplier side modules (quotation, purchase , deliver) and stock management modules.
- Used CakePHP and jQuery to develop
- Maintained existing system and develop new modules
- Migrated client old system to our system
- Maintained company internal system (project management, incentives and task tracking system)
Utilized :
- CakePHP
- jQuery
- MySQL
- Git
Projects
News Reader
As a foreigner in Taiwan, I not only read the local news, but also Malaysia news and some international news. As a software developer, I am also interested in the technology news. But I have to visit different news websites for those news, so I wished I could just read the news from specific countries and sources within a website. Since I am learning Go, I decided to use it to create a website that satisfies my own needs. So I created a website with the following features:
- Search by country, source or date range
- Mobile friendly
- User Module (WIP)
Site: https://newsreader.ddns.net
Source Code: https://github.com/ganboonhong/reader
Utilized :
- Go
- jQuery
- Git
- Datatable
- Docker
- Docker Compose
Personal Blog
Using Golang CMS (HUGO) to manage my personal blog.
Site: https://ganboonhong.github.io/blog
Source Code: https://github.com/ganboonhong/blog
Utilized :
- Golang
- Markdown
- Git
Skills & Tools
Frontend
-
jQuery
-
MySQL
-
Vanilla JS
-
Next.js
Backend
-
PHP
-
Node.js
-
Go
Others
- MQTT
- Datatable
- Git
- jstree
- Yii2
- CakePHP
- Laravel
Education
-
Agricultural EconomicsNational Taiwan University2011 - 2015
Language
- Chinese (Native)
- English (Intermediate)
- Malay (Intermediate)
Interests
- Coding
- Minimalism
- Watching Sport Events
Others
- Working & Travel in US
About Me
A software engineer with years of experience in surveillance, ERP, E-commerce, ticketing, and car selling systems. Finding the most effective solutions has always been my priority working in fast-paced environments, and I continually invest more time in unveiling the root causes of the issues.