Occupational Health Made Simple
PulzAid is an application made for simplifying occupational health for small businesses. It targets to address the complex yet expensive insurances involved to lower cost, mitigate risk and boost efficiency.
The teck stack
PulzAid mobile app is built using flutter for easy maintainance and deployment across operating systems and platforms. On the backend, it involves an AWS EC2 hosted cloud-based infrastructure, utilizing both relational database and some serverless functions utilizing the Google Firebase.
Other tools and frameworks involved in this application include Apache, Teffaform, Nomad and Docker. These tools/frameworks aims to deliver a robust infrastructure and easy develop/deployment experience for continuous integration and continuous development.
The front end
The frontend of PulzAid mobile app is built using flutter for easy maintainance and deployment across operating systems and platforms. This allows the app to be built once and gets deployed on modern mainstream operating systems and devices, including but are not limited to mobile phone, tablets and laptops that runs on iOS, Andoird or run as a web application. And all these are delivered from the same codebase, without the need to maintain multiple repositories.
The frontend design is inspired by card componenets, where rich media and information could be displayed for easy view and operations. Third party services such as payment or map are also integrated within the application, to give user a seemless experience on managing their health. Floating icons replaces navigation bar for guided user experience.
The back end
On the backend, the application involves a distributed AWS EC2 hosted cloud-based infrastructure, utilizing both relational database and some serverless functions on the Google Firebase.The application is hosted on an infrastructure protected by a bastion server, and utilizes distributed servers and databases to deliver reliable, scalable and robust service that supports high QPS and low lantency. The backend uses RabbitMQ to detach different micro-services and allows them to be scaled independently, and system could automatically scale in or out based on demand with containerized environments and auto deployment scripts, allowing seemless adding or removal of workers.