An internal web app for swim schools. Developed specifically for the "Kids" program of Swiss Aquatics. Live in production at the Aqualetics swim school since August 2019.
The web app allows swim instructors to track students attendance, rate their progress for objectives and provide written feedback to the parents. The admin page has functionality for importing and exporting students, lessons, practice objectives as well as pdf documents suited for distribution to customers. The app is currently in use by over 10 swim instructors and back office admins.
The app is built using a Node.js, PostgreSQL, Hasura and Vue.js tech stack and runs in docker containers. The project started without Hasura and the API was manually built in node. Fortunately Hasura provides most of that functionality out of the box, so I was able to replace 90% of the backend code with it.