DEV IN THE HOOD — Luxembourg

0%

La Provençale Webshop

La Provençale Webshop

La Provençale Webshop

$ cat stack.txt
Symfony 6.4
PHP 8.3
API Platform
Angular 18
Elasticsearch
Mercure
$ stats --short
5  Codebases
126  Domain entities
~670  API operations

Full-stack, 2021

Front07Back

Scroll down

—Overview

The online shop of La Provençale sàrl: catalogue, ordering flow and the backoffice behind it, connected to the company data through a dedicated API layer.

Client
La Provençale sàrl
Agency
Internal
Location
Leudelange, Luxembourg
Date
May 20, 2021
DesignAPIBackofficeE-commerce

02The front

What people see.

La Provençale Webshop
La Provençale Webshop

Catalogue, orders,
backoffice

Design, integration, API and administration were handled in-house, so the shop and the internal tooling evolve together.

—Screens

Scroll sideways

Catalog
Catalog
Seafood
Seafood
Wine shop
Wine shop
Sign in
Sign in
La Provençale Webshop

03The back

What keeps it standing.

$ cat stack.txt
Symfony 6.4
PHP 8.3
API Platform
Angular 18
Elasticsearch
Mercure
  • 5Codebases
  • 126Domain entities
  • ~670API operations
  • 115Security voters
  • ~11,200Automated tests
  • ~16,000Commits
  • 3Interface languages
  • 8Datasheet languages

120 features12 modules

0114 features

Catalogue, search & promotions

  • Elasticsearch catalogue per language
  • Search suggestions and synonyms
  • Category tree and tag filters
  • Filter by article code
  • "Ongoing discounts" and "hide made-to-order" filters
  • Grid or list display
  • SEO-friendly URLs and structured data
  • "Often ordered together" suggestions
  • Flash market offers by category
  • Weekly suggestions
  • New arrivals and seasonal items
  • Daily promo dish
  • Featured tiles and banners
  • Events

0212 features

Product page

  • 6 price types: standard, promo, quantity, daily, blocked, indicative
  • Prices excluding and including VAT
  • Real-time stock
  • "Order before hh:mm, delivered D+n"
  • In-store aisle and shelf location
  • Deliverable countries
  • EAN, brand, origin
  • Guaranteed minimum freshness
  • Ripeness and waste options
  • Weight-based ordering
  • Allergen and ingredient images
  • Technical datasheets with versions

0313 features

Cart & checkout

  • Delivery, collect or drive
  • Delivery calendar with holidays and closures
  • Drive time slots, shareable between orders
  • Delivery and billing address choice
  • Customer order reference
  • Minimum order amount
  • Several carts per customer
  • Availability check before ordering
  • Instant "order now" dialog
  • Cart import from Excel
  • Pickup slot added to the calendar (ICS)
  • SMS confirmation above an amount limit
  • Buyer carts approved by an admin

0411 features

B2B ordering

  • Customer-specific prices
  • Customer-specific assortment
  • "My Shop": everything already ordered
  • Shopping lists: create, duplicate, sort, export
  • Lists shared with other customer accounts
  • Whole list ordered in one click
  • Order again
  • 2-year order history
  • 8 order statuses with explained error codes
  • Public delivery-note link with missing and returned items
  • Customer card shown as a barcode for store terminals

0510 features

Accounts & buyers

  • Registration with customer-number check
  • SMS verification of the mobile number
  • reCAPTCHA
  • Switch between several customer accounts
  • Buyer roles and address access
  • Prices hidden per buyer
  • Buyers restricted to shopping lists
  • Device list with log out everywhere
  • Colour-blind mode
  • Onboarding tutorial and FAQ

069 features

Customer area

  • Documents centre with 9 document types
  • Invoices, recap and grouped invoices
  • Delivery slips and return tickets
  • Bulk download, mark as read, archive
  • Technical datasheet portal
  • Datasheet update subscriptions
  • User management with rights per document type
  • Notification settings per document type
  • Several verified email addresses per account

076 features

Catalogue backoffice

  • Web article editor in FR, EN and DE
  • Units, dimensions and capacities
  • Parent / child article grouping
  • Drag-and-drop category tree
  • Tags, synonyms and search keywords
  • Article status checklist

087 features

Food data & datasheets

  • Versioned product compositions
  • Ingredient tree with origin and organic flag
  • Allergens and nutritional values
  • Open Food Facts import
  • AI OCR of ingredient labels
  • Datasheet kanban: uploaded → published → archived
  • Bulk upload and bulk publish

096 features

Photo studio

  • Drag-and-drop bulk upload
  • Automatic article matching from the file name
  • Auto-crop
  • White balance correction
  • Background removal
  • Before / after comparison

1011 features

Sales backoffice

  • Dashboard with sales, logins and feedback charts
  • Market offers with price and stock preview
  • Market offer statistics by article, customer and department
  • Stock-depleted email alerts
  • Carts in error and unconfirmed orders
  • Operator can confirm or copy a cart
  • Customer overview with addresses and delivery days
  • Content tiles, events, FAQ and tutorial slides
  • Exceptional delivery dates
  • Customer feedback with statistics
  • Report builder with saved, shared reports

1110 features

Integrations & API

  • Two-way sync with the company ERP
  • Web orders pushed into the ERP
  • B2B web services: price, stock, orders
  • Customer API keys with test mode
  • Rate limits per minute, hour and day
  • Pricing engine per customer and date
  • ~25 cart validation rules
  • 8 email and 8 SMS templates
  • Live notifications over Mercure
  • PDF delivery notes and Excel exports

1211 features

Platform & security

  • JWT with refresh tokens
  • Operator impersonation
  • 13-role hierarchy
  • Operator rights matrix
  • Full audit trails
  • Appearance settings with high contrast
  • Keyboard shortcuts
  • PWA
  • Service status page and degraded mode
  • GDPR crons with inactivity warnings
  • Automated data-integrity checks

—Built-in quality

1,154 PHP tests~10,050 Angular testsPHPStanRectorGrumPHP pre-commitJenkins CI