All work

Photo lab · online ordering

A photo lab that takes its orders online, not on a memory stick.

An application built from scratch for Laborator Foto: online ordering with real lab options, large files that upload without collapsing halfway, and a separate module for group shoots. Live since 2021, developed and maintained ever since.

Visit the live site
Sector
Photo lab with its own studio
What we built
Online ordering platform, from scratch
Stack
Laravel · Vue
Live since
2021
Languages
Romanian · Hungarian · English

Context

A real photo lab, with services that don't fit a standard online store.

Laborator Foto is a professional lab: it prints on glossy and matte photo paper, develops and scans film, produces photo books and gifts, and runs its own studio. The site works in Romanian, Hungarian and English. The problem was never a missing brochure site — it was that ordering looks nothing like an ordinary shopping cart, because every single photo in an order carries its own settings.

The problem

Ordering a photo is not "add to cart".

Someone who wants twenty prints isn't ordering one product. They're ordering twenty separate decisions: which size, which paper, with or without a white border, how the image should be fitted when the proportions don't match. And the files are large — an ordinary online store falls over at exactly the point where the customer has most to lose.

  • Every photo in an order has its own size, paper, fitting and quantity — there is no "product" that covers it.
  • Lab-quality files are large, and an upload that dies at 80% means starting the whole order again.
  • The alternative was a trip to the shop with a USB stick, memory card, CD or DVD.
  • Group shoots were collected piece by piece across separate channels, with no list that filled itself.
  • Once an order was sent, the customer had nowhere to see what stage it had reached, and no way to ask without phoning.

What we built

An application built around how a lab actually works.

We built the application from scratch — a Laravel API with a Vue front end — because a photo lab's workflow doesn't fit an off-the-shelf platform. The customer configures each photo separately, uploads without fear of the transfer dying, follows the order, and can message the lab directly. The administrator sees all of it from one panel.

  • An order where each photo carries its own size, paper, fitting and quantity.
  • Chunked uploads for large files, which resume rather than restarting after an interruption.
  • Order stages the customer can follow and the admin can move.
  • Real-time messaging between customer and lab, per order.
  • A group-shoot module: a link with a deadline, a participant list, and how many photos are expected from each.
  • Accounts, email activation, password recovery, roles and permissions.
  • Automatic emails: order confirmation, order completed, account activation, password reset.
  • Personal data encrypted at rest — name, phone, address.
  • Automatic cleanup of completed orders' files when disk space runs low.
  • The full interface in Romanian, Hungarian and English.
  • A statistics panel: orders and users per month, day-by-day trend.
  • Automated production deployment on every release.
laborator-foto.ro
The public laborator-foto.ro site, in Romanian, Hungarian and English.
The public laborator-foto.ro site, in Romanian, Hungarian and English.

The result

In production since 2021.

The platform has run continuously since 2021 and has kept receiving new versions since — from the group-shoot module to automatic disk-space cleanup. The concrete numbers — how many orders arrive online versus over the counter, and how much time a group shoot saves — go here once the client provides them. We would rather they were missing than estimated.

Got a workflow that doesn't fit an off-the-shelf platform?

If your business has rules no standard online store will accept, it's the same problem. Message us and in twenty minutes we'll tell you whether it's solvable and what it costs.