iDental 1.9 — HR, accounting and Go
iDental 1.9 (2023 – 2024) turned its attention inside the clinic: completing the HR module with attendance and payroll, and giving accountants more control. But the defining mark of this period was a bold decision — rewriting the entire server side in the Go language.
HR module
- User management — records for the staff who use the software.
- Attendance — track each staff member's working days.
- Payroll — the software calculates staff salaries.
The HR module became far more complete, letting clinics manage their people in the same system as their customers.
Accounting module upgrade
Part of the accounting module was upgraded so accountants can act more independently on the CDP, instead of relying on figures sent over by other departments.
The big decision: moving the backend from Yii2 to Go
While building accounting and HR — two areas with heavy calculation and reporting — the team realised Yii2 no longer fit its role of supplying data (a REST API) for the problems at hand. Everyone agreed to replace the whole Yii2 backend with Go.
It was a risky decision, because "rewrite" meant redoing everything built over the previous years:
- Every business process rewritten from scratch — customers, appointments, orders, payments, treatment, loyalty, sales, marketing, customer care… Every data validation rule, every calculation, every report had to be carried over and produce exactly the same results as before.
- No disruption to clinics — clinics were using the software every day, and real customer data could not be corrupted or lost during the switch.
- The interface had to keep working — the Angular interface relied on data from the old backend, so the new one had to return compatible data without affecting users.
- Permissions, integrations and reports all re-verified — every role's permissions, the call-centre, Zalo and SMS connections, and every reported figure had to be checked again, piece by piece.
- Migrating and building at the same time — HR and accounting kept being developed during the rewrite, so the team had to carry both workloads in parallel.
In return, the finished Go backend delivered over 60% better performance than the old Yii2 backend — a noticeably faster product, and a solid foundation for everything that followed.
Who it was for
HR managers and accountants — and every user, all of whom benefit from the faster new backend.
Platform
Interface: Angular 14 + PrimeNG 14. Server: Go (replacing Yii2). Database: MySQL 8.0.