Introduction: Planning the Survey
Presenting the tutorial
Imagine a business whose main activity consists in promoting monthly wine tasting events. Each month a different organizer selects the wines to be tasted and invites wine critics and sommeliers.

These types of events normally include a small survey after each wine tasting session so that the tasters can evaluate the wine they have just tasted according to a set of criteria. In our case, we can think of three sets of assessment factors: Sight, Flavour, and Taste. Each of these will then include more specific aspects, as you can see in the image below. Moreover, while all the 10 evaluation criteria will have the same qualitative scale - ranging from Weak
to Very Good/Excellent
-, each of them will have a different weighting. The final grade of a wine will vary between 50 and 100 points.

Besides the evaluation criteria included in the online survey, the price-quality ratio of each wine will later on also be under analysis.
Since the business owner is environmentally conscious and want to reduce tree cutting, he/she starts thinking about a totally paperless and online solution - a solution that is also able to guarantee the authentication of all the wine tasters that were previously invited via email by the organizer of the current monthly event. Here comes the CoB platform to the rescue!
Our platform can help you build a small Web application where before each wine tasting, all wine tasters receive an email containing an invite to the event sent by the organizer. Besides information about the event (name, location, date & time, and the name of the organizer), this invite includes links to several online surveys, one for each wine.
After tasting each wine, the taster can then click on the appropriate link to give his/her assessment of that wine. The end result will be a user interface similar to the one below:

When implementing an application hosted on the CoB platform like our online survey for wine tastings, we always need to start by thinking of all the main intervening data entities in the process.
For starters, in order to organize a wine tasting, we will need Wines
to taste and Wine Tasters
to taste these Wines
. Next, if the business owner is interested in providing an accurate quantitative analysis of the tasters' opinions, we also will need a Survey
. Then, if the owner is really keen on promoting several wine tastings per year - each of them taking place in different days at different places and organized by different people -, we need Events
, a category where all the other entities can get the name of the current month event, the date & time of the event, its location and, last but not the least, the name of the organizer. Finally we will need to think of invitations or, more precisely, Invites
, a data entity used by the current month organizer to invite his/her guests to the event and inform them when and where it is going to take place.
To sum it up, we need to think of five abstract data entities:
Wines
;Wine Tasters
;Survey
;Events
;Invites
.
While this project seems fairly easy, there are some gotchas along the way that require more advanced knowledge of the CoB platform, namely when and where it makes sense to make connections between data entities. Throughout the remaining parts of this tutorial, we will help you implement this solution step-by-step within the CoB platform. The second part will be all about adding Wines
to our application.