Case study

Back to all case studies

The complex registration system for Klub Kvapka

Company type
Swimming club
Trnava, Slovakia 🇸🇰
Creating a complex and user-friendly online tool to keep track of children’s attendance of swimming courses.
Developing a unified registration system that saves time and energy of the instructors as well as the parents.
A modern web application that enables signing children in and out of swimming courses, finding and signing up for make-up lessons, or pairing and keeping track of received payments.
Utilized technologies
  • Ruby on Rails
  • HAML
  • Rails UJS

Thanks to a complex registration system, we made keeping track of children’s attendance easier for our client Klub Kvapka (swimming club for children).

We also made other processes connected to make-up lessons and keeping track of received payments more effective and smoother.

The client’s goals

The company Klub Kvapka was founded in 2005, when it started organizing swimming lessons for infants and toddlers under three years in Trnava. With number of swimmers increasing every year, the club opened a larger pool for older children in the season of 2009/2010.

During the following years, the club’s services expanded so much that a well-organized complex online system, which would also make the everyday functioning of the club easier for the parents, became necessary. The goal was to create a web application that would replace paper-based schedules on cork boards with its main functions being:

  • keeping track of applications and assignment of children into courses

  • coordination of make-up lessons and evidence of absence notes

  • keeping track of completed courses (the number of courses that the children already completed)

  • management and registration of instructors

Later it was necessary to add some features to the registration system, including:

  • online card payments,

  • payments via the FiskalPro terminal,

  • automation of document and invoice generating and sending,

  • creating new e-mail notifications with the option of content editing,

  • interconnection with the accounting system and the bank,

  • records of contracts in the system,

  • records of other types of courses,

  • records of activities for pregnant women.

The reason for this extension was mainly the limited payment options. Course participants had to rely only on bank transfers, or cash payments in person on the spot. New features did not only provide benefits for the clients, but also for the club itself, by saving time and simplifying the accounting paper work.

The client also aimed for the website modification. We made minor adjustments to the already existing web. Later we switched entirely into a Wordpress custom theme.

Route to the solution

The key requirement of the client was a new, modern system, which would be comprehensive and easy to use. Therefore, the aim was to create a web application, which could be used by someone with minimal technological skills.

Based on the client’s individual requirements we designed a web application and waited for the client’s approval. After it was approved, we started working on the system.

We presented the finished project to Kvapka Klub, trained the employees and explained to them how the system works and how to use it.

Key requirements of the client

While working on the new system, we kept the client’s essential requirements in mind.

Klub Kvapka needed the system to enable parents to:

  • sign children up for courses,

  • manage their data and the data of their children,

  • sign up for make-up lessons (the system keeps track of places available in courses and automatically offers other lessons to the parents as well, for example from different courses according to their children’s age and abilities.).

The client also wanted the system to allow the instructors to:

  • assign children and parents to courses,

  • excuse absence notes,

  • keep track of make-up lessons.

Utilized technologies

The first version of the system functioned on a Heroku hosting with a PostgreSQL database. However, a higher number of courses, services, and customers called for additional hosting services, so we migrated the system to our internal hosting, where it functions to this day.

The entire system is programmed in the Ruby language and the Ruby on Rails framework.


The biggest challenge of our project for Klub Kvapka was creating a simple system that could be used by technically less proficient users. We tried to create a straightforward app with basic features and up-to-date information about the courses for the children’s parents.

Product development

Since the first version of the system was full-featured and worked the way it was supposed to, we added new features gradually according to the client’s requirements.

Subsequently we added:

  • physical exercise courses,

  • activities for pregnant women,

  • GDPR information,

  • contract processing,

  • group email and SMS sending,

  • a payment module for online card payments,

  • a payment module for card payments at the point of sales,

  • an invoice module for automated invoice generating and sending after the payment,


At freevision we find solutions for our clients tailored to their needs that simplify standard processes and positively impact their business. Would you like to bring your business to the next level? Try our free consultation.

Client's review

Július Kováč
Managing Director, Klub Kvapka

I greatly appreciate our cooperation with freevision, more specifically with the people behind it. I value their open minded approach to our requirements and the way they incorporate them into our system. We usually receive answers to our questions fairly quickly, which helps us progress at a good pace. Feedback is always constructive, and if it’s not possible to incorporate things into the system the way we proposed, they always come back with an realistic solution that provides the desired outcome. We are thankful for the creation of our registration system, which helps us satisfy hundreds of clients very efficiently and with great precision on a daily basis.

Ahmed Al Hafoudh

Are you planning a new app?