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
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.
DesignAPIBackofficeE-commerce
02The front
What people see.


Catalogue, orders,
backoffice
Design, integration, API and administration were handled in-house, so the shop and the internal tooling evolve together.
—Screens
Scroll sideways

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






