Hostaria San Carlo: website and menus updated independently.

The panel where the restaurant manages menus, wine list, website copy and opening hours, and generates PDFs and QR codes.

The restaurant updates menus, wine list, copy and opening hours and prints PDFs and QR codes without going through a developer. The public website reads everything from the back office through an API.

Client
Hostaria San Carlo
Industry
Restaurant
Year
2025
Back office with the restaurant menus table: name, category, description and New, QR Code and PDF buttons
Menu list with categories and PDF and QR actions — sample data.

Context

Hostaria San Carlo’s public website was built by another freelancer. The restaurant needed a direct way to manage its content over time: my work was the back office and the API that feeds the website.

Problem

Every change to the menu or to website information risked turning into a technical request. For a restaurant, dishes, prices and seasonal menus need to change quickly, and printed menus and QR codes must stay in sync.

Solution

I built the back office that lets the team edit content and produce all menu-related materials from one place.

  • Menus organised into courses and dishes, with prices, descriptions, allergens and images, in five categories: à la carte, daily, holidays, events, signature dishes.
  • Holiday menus with validity dates, manual ordering and full duplication of a menu for the following seasons.
  • Drinks list with type, region or country of origin, price and visibility.
  • Menu and wine list PDFs with layout options: spacing, cover image, one course per page.
  • Printable QR codes pointing to the menu page on the website: the code stays the same when the menu changes.
  • Page copy, opening hours and venue gallery editable from the panel and exposed to the public website through protected JSON APIs.

The backoffice

Edit dialog for the Antipasti course with its dishes: name, price, image, description and allergens
Course editor with dishes, prices and allergens — sample data.
First page of the menu PDF: header with logo, menu and wine list QR codes, Antipasti section with prices
First page of the menu PDF generated by the back office — sample data.
Drinks table with name, type, region, price and visibility icon, with search and filters
Drinks list with type, region, price and visibility — sample data.

Result

Hostaria San Carlo keeps menus and website up to date on its own. PDFs and QR codes come straight from the back office, and holiday menus appear on the website only during their validity period.

The result is qualitative: no verified metrics are available.

Technical details

Laravel 11 with a Filament panel, PostgreSQL, PDFs generated with DomPDF, QR codes, media management and Docker deployment. The public website consumes thirteen read-only JSON endpoints.

  • Laravel
  • Filament
  • PHP
  • PostgreSQL
  • DomPDF
  • Docker

Want to update your website without technical requests?

I can build a back office around the tasks you do most often.