eBookingServices.com, currently known as Tripaneer, is an online service for booking topical vacation packages. Robert Den Hollander, the project customer, believes that such kind of experience lets people discover their abilities and increases happiness and personal growth.
- Web development
The project started in July, 2012. The application covered three subordinate websites with training trips. Thus, we actually had to develop four websites - the parent site and its three children:
the main site
martial training camps and vacation packages
yoga retreats and vacations
According to the original idea, in total the websites offer over 1,000 vacation packages in 80 countries. They combine reviews and booking features.
After project requirements review, it was decided to implement the project with Ruby on Rails and Mongo database. Well, Rails was our framework of choice, so no surprise here. But the Mongo DB was a move away from the tried and true MySQL. It was chosen by Robert personally, he believed that this new and modern database would provide high flexibility. As software engineers we were happy to try a new promising technology in production mode.
According to customer's design brief, our task was to create a visual style which should be trustworthy so that visitors feel comfortable leaving their payment details. Users should be able to find the most attractive trips in just a few clicks. And of course it should have the “web 2.0 look” - lots of white space, little and short texts, large fonts, simplicity, strong navigation.
After a few exchanges with the customer the mockups were finalized. The home page turned from a simple screen with a horizontal scroll to a fully functional trips index page with filters and infinite vertical scroll.
While the overall project was straightforward, the team faced a few interesting tasks during the development.
A good example is a fallback algorithm for showing topic pages when a user plays with filters. For example, when the user is looking for martial arts campuses in New York, the application shows a special topic related to New York. But if such a topic has not been entered into the system by admins, the application has to show a topic related to the United States.
Another noteworthy feature is a currency convertor. A user is able to see the price of a campus in 30 currencies. The application uses live exchange rates imported from the European Central Bank. A default currency is determined by a user's IP address.
We have also developed a specific workflow for listings - every listing has to pass certain stages before it is approved by the administrator. When a merchant creates a new trip, it should be processed in the admin backend. It can be approved, published, published online, unpublished or deactivated. The listing can change its state at any time, for example, when the merchant decides to update some information related to the trip.
Although our engineers had a rather tight schedule building many features they enjoyed the process very much. After several months in eBookingServices Alla said:
I feel like this project is mine completely and totally. I have spent a lot of time on interesting features and liked them all. Also it was very cool to work with Rob. He is a very advanced customer, he could find a modern component somewhere in the Internet, read about it and decide to include it in the project. It was a very positive experience; I had a great time working in eBookingServices.
The project took about 8 months and 16 releases before it gathered merchants and users and went to the marketing stage. Exactly as Agile methods required, the releases were small and comfortable for the customer.
During this period we developed:
- smart list of training trips beginning from the most popular ones;
- filtering feature for the available trips with an infinite scroll;
- placing an inquiry for a trip tied to a specific arrival date;
- messaging system between a website visitor and a merchant;
- template language for deal pages;
- currency convertor with live exchange
- rates imported from the ECB;
- user reviews for listings;
- handy admin backend with a workflow for new deals.
The stack of technologies was:
- Ruby version 1.9.3;
- Rails version 3.2;
- MongoDB version 2.2.0.
Mongo DB proved to be a reliable choice, both flexible and easy in use. Also, our idea of engaging tutors came out as a very effective method and we assigned tutors to many other of our projects.
In the next releases, the tech stack was upgraded to the latest versions of Ruby and Rails. The project also migrated to PostgreSQL, which helped to handle a more sophisticated logic, accelerate the development and the application itself.
Team and Technology
The project was started by a senior software engineer Ivan Rostovsky. Soon another engineer, Alla Lisitskaya, joined the team. And it was Alla, who carried the project to its successful completion, while Ivan left the team after a couple of months.
Later, two Anadea graphics designers Elena Syvokobylska and Alexander Demchenko were engaged.
Over the course of the project it was monitored by a few supervisors. It was our new idea - to assign a tutor to projects. A tutor had to be one of our most experienced engineers. He should be responsible for the project architecture, code quality and overall process transparency.
Initially eBookingServices was under the care of Pavel Mitin who was proficient in Mongo. Later he passed the baton to a great communicator Dmitry Kiriyenko who was the best person in terms of making projects production-ready.
The solution is based on a proven framework, because huge databases which are common to custom real estate projects should be ready for scaling up.
- Site address:
- Release date:
- 13 April 2013
- Ruby 2.1.3
- Rails 3.2.19
- PostgreSQL 9.3
The result satisfied Robert as well as it satisfied us. Here is what Robert wrote in his blog:
We chose Anadea because while evaluating all the received proposals during the supplier selection process, Anadea stood out as the best option from the start. After successfully delivering the application, we even better believe that they are the best choice.
With Anadea you get a complete organization with great project management methods, tools and working standards. I have been involved in many IT-projects and I have never experienced a project that went as smoothly as this one. Development is continuous and traceable. Errors and bugs were rare to find after a release and are always fixed very quickly.
We have used agile software development methods. This means that we can manage our user stories on a tracker tool. We are able to update them, change the priorities and contact the assigned developers directly. Even more than that, every time we encounter some problems, all the developers are available to chat and Skype.
I have also experienced it as extremely positive that they offer all disciplines needed to develop a website. Besides the main Ruby on Rails development, all the design work, html coding, and server setup was done by Anadea. Moreover, it is great to know that if the developer gets stuck with a certain issue, he can consult a large team with each of the members having its own expertise. The developers that worked for my project were all very friendly, easy to communicate with, extremely professional, aiming for high quality and reliable.
BookYogaRetreats.com was the first eBookingServices website that was released to public in April 2013, after a 4 months semi-private beta period. It has already gained its first excited users.