In March 2013 a client required us to develop a booking system for golf courses. Bookagolf is an online booking system for booking games in golf clubs of different countries. This project is a startup and Ruby on Rails suits it perfectly. The integration with desktop and mobile clients was provided. It was necessary to design 2 parts: users and admin.
The functionality provided for users:
- search clubs and view a map
- get information about a club and become a member of a club
- book a tee time and extra services
- choose the interface language
- give feedback about the service
The functionality provided for administrators:
- create clubs’ accounts and manage their data
- get information about booked games
- upload static content and advertisements
- get statistics of orders, users, equipment
- set roles for managing clubs
- localize the interface
Ultimately we designed and developed the system according to a requirements specification.
The project was deployed to Rackspace hosting.
Of course, we encountered some problems. Here is a list of the most memorable ones, which were successfully resolved:
- A special interactive map of countries is used in the project. To implement it we chose Google maps to get the effect of visual presence. A lot of clubs are located in places which are shown in Google Street View. In order to display the outlines of countries/continents, we used pictures imposed on a map.
- During the development process, the client decided to design the API. Gem Grape was used for this purpose, gem Encryptor was used to provide API’s security.
I’ve been working with the company more than a year and they have never let me down. The company is stick to customer service approach but if I am wrong, they always offer the best solutions. They remember that every project has its aim and they help to reach it. Sloboda studio staff turned to be a close-knit, creative team. I’m working with them and I’m going to continue our collaboration.
I and the team of Bookagolf would like to thank each employee of Sloboda Studio!
Alexandr Sudakov, [email protected]
The administration page was made on Device. Some solutions which we offered during the development process:
- an isolated process of sending emails (delayed job)
- remote server automation and deployment tool capistrano
- considering potentially high loading, Nginx is used for caching of static pages, Rails Cache for dynamic ones
Marketing activities were being prepared at the time of publication.