Application of Microservice Architecture in the Development of Website-Based Drainage System for Rumbai Area (Case Study: PUPR Service Pekanbaru)


  • Deanira Fadrinaldi Politeknik Caltex
  • Shumaya Resty Ramadhani Politeknik Caltex
  • Retno Tri Wahyuni Politeknik Caltex


Drainage system, microservice architecture, website


Flood has always been an annual problem that hit most of the areas in Indonesia including Pekanbaru.

According to the city's official website, there are 375 flood-prone points, and several roads have poor drainage

systems. This is what triggers a large number of flood and damaged drainage reports by the public community

per day. The management of the public's complaint data will need a significant amount of time and effort from

the community and government staff. Additionally, errors and the risk of data loss in archiving public

complaints reports are prone to occur because the flood complaint data is kept in hardcopy in the file cabinet.

However, information regarding the details of the drainage system is still not fully available in the PUPR Office

database. Hence, this research made a system with microservice architecture which is divided into 4 services: a

backend service to handle user authentication, a backend service to manage public community’s complaint data,

a backend service to provide drainage monitoring data, and a frontend admin service. This website application

will be named DRAINIT. This web application will only have one user level, admin, and will be managed by

the Pekanbaru PUPR service officer. According to the test that has been conducted, namely unit testing,

integration testing, and user acceptance testing, this web application is thought to have successfully met the

requirements requested by Pekanbaru's PUPR service which are to records public complaints reports, see GIS-

based drainage network, and see drainage monitoring history. This study performed load testing for the

performance test, and the results showed that the application could handle 19.3 requests per second.