Performer booking website
Service matching performers and their clients
A few words about the project
We developed a web service where user can hire performers for his events. Client posts a job and gets quotes from service providers in area and categories he is interested in.
Code structure
Application is using modular architecture with service layer. This allows to create reusable code and easily extend website with new features. Application is built with themes support so design can be easily changed at any time
Performer matching
One of the important features of this website is to match client's quote with right performers. Code should not only check services performer has to offer, but also his working area defined by polygon. Since solving point in polygon problem againist thousands of performers can be resource consuming task, we decided to perform matching only once, when job is being posted by client, and then cache results, so they can be quickly retrieved by users. In the future this job can be optimized even more by narrowing search list by radius and country.
Planned search upgrades
We plan to use Elasticsearch to create smart form, that will find performers by title, description services and distance. It will also provide us with a way to create similar performers block, that will improve user experience.