October 2023

Heurig

The launch of a Heuriger search engine

  • WEBSOCKET
  • ELASTICSEARCH
  • GIT
  • DOCKER
  • CI CD
  • ANGULAR
  • GITHUB
  • TAILWIND CSS
  • EXPRESS
  • SASS
  • LINUX
  • NEST JS
  • REST
  • TYPESCRIPT
  • DART
  • MARIADB
  • SWAGGER
  • Leaflet
Visit live project
Heurig

The idea behind Heurig came from a simple wish: to give visitors to traditional Austrian wine taverns (Heurige) in Lower Austria, Vienna, and Styria a platform built specifically for their needs. In a world dominated by big players like Google Maps and TripAdvisor, we wanted to serve a niche — a search engine that puts local character, culinary recommendations, and the unique atmosphere of the Heurigen front and center.


Our goal was a friendly, modern app that surfaces the best nearby Heuriger in just a few clicks. The focus wasn't only on search itself but on building a deeper connection between guests and tavern owners. Through targeted filters planned for future releases — by regional dishes or user reviews — we aim to simplify users' decisions even further.


Technically, we chose a modern, scalable setup. The backend runs on Node.js and the NestJS framework with TypeScript. That choice let us build a clean, modular architecture that talks to our MySQL database effortlessly through TypeORM. Clearly structured REST endpoints let Heurigen be found, created, or deleted by search term, unique ID, or even GPS coordinates, and separate configuration files keep environments like development and production cleanly apart.


The frontend is built on the Ionic framework with Angular. The combination gives us a responsive web interface today and a path toward a native mobile app tomorrow — of particular interest given the growing share of mobile users. We invested in design early: detailed wireframes and high-fidelity mockups built in Adobe XD formed the basis for an attractive, intuitive UI. Custom components, like our purpose-built split-layout, ensure the app is as good to look at as it is to use.


A particular highlight is the search. Using a search tree implemented in PHP — a trie structure — we built autocompletion that handles different datasets, like Heurigen and street names, distinctly. Thanks to regular updates from the database, the suggestions stay current and enable fast, precise search.


How do you realize a complex application like this from an infrastructure standpoint? Modern containerization came into play. With Docker we packed both the NestJS backend and the Ionic app into isolated containers, enabling easy scaling and flexible management. Portainer — a web-based management interface — keeps us on top of our containers and lets us roll out changes easily. The platform is hosted on a Linux-based vServer that we manage through Plesk, which supports SSL certificates, backups, and firewall rules and integrates Docker so our applications run independently of the underlying server configuration.


For version control and overall project management we use GitHub. Beyond code, we use GitHub Projects to organize tasks and backlogs — an important tool for staying on top of an iterative, agile process. Automated deployments via GitHub webhooks ensure code changes flow straight into new builds, keeping the platform up to date.


Close teamwork was a decisive success factor. Across several semesters the disciplines fused into one harmonious unit: while some focused intensely on the frontend and UI, others concentrated on a stable, performant backend. Daily standups and continuous coordination helped us tackle challenges together — whether integrating the Leaflet map or extending error handling.


In the end, Heurig is far more than a search engine. It's a project that unites modern web technologies, smart search algorithms, and agile methods in one coherent whole. Our approach of foregrounding local character and culinary recommendations gives users an authentic experience that goes well beyond plain search. Looking ahead, we're planning further extensions to make the platform even more flexible and user-friendly — always with the aim of taking the Heuriger experience to a new level.

Gallery