Brekz Website¶
Frontend Website
Frontend webshop interface voor klanten. Integreert met backend, CMS en PrestaShop voor dynamische content, product data en checkout.
- Laravel frontend framework
- CMS integration voor rendered sections
- Real-time product data via backend API
- Multilingual support (10+ talen)
| Aspect | Details |
|---|---|
| Type | Website |
| Repository | brekz-group/brekz-website |
Omgevingen¶
:material-architecture: Architecture & Integraties¶
Dependency Stack¶
Brekz Website werkt samen met drie andere systemen:
| Systeem | Rol | Details |
|---|---|---|
| Brekz Shop Backend | API & Data Layer | Product data, customer data, key-value store |
| Brekz CMS | Content Management | Rendered sections, translations, page layouts |
| Brekz PrestaShop | E-commerce Core | Product catalog, inventory, orders (via backend) |
Rendered Sections System¶
Website haalt pre-rendered content sections op van Brekz CMS:
┌─────────────────┐
│ Brekz Website │
└────────┬────────┘
│
│ Vraagt sections aan
│
┌────────▼────────┐ ┌──────────────────┐
│ Brekz CMS │──────│ Key-Value Store │
└─────────────────┘ └──────────────────┘
▲
│ Builds sections
│
┌────────┴────────┐
│ Content Entries │
│ (Pages, Blocks)│
└─────────────────┘
Performance Feature: Sections worden gecached en pre-rendered. Enkel dynamische content (customer data) wordt runtime gehaald.
Konfiguratie (.env):
FILESYSTEM_CMS_CONTENT_STORAGE_PATH=app/private/sections
CMS_BASE_URL=https://cms.brekz.nl
CMS_SECTIONS_EXPORT_API_TOKEN=<token>
CMS_API_SIGNING_KEY=<key>
Key-Value Store¶
Website synchroniseert routing en URL-resolving via shared key-value store van backend:
Brekz Shop Backend (generates)
↓
KV Store
↓
Brekz Website (consumes for routing)
Setup:
# In brekz-shop-backend
php artisan generate:key-value-store
# Configuration in brekz-website
FILESYSTEM_URL_RESOLVER_STORAGE_PATH=app/private/url_resolver
Translations (i18n)¶
Alle vertalingen worden vanuit Brekz CMS beheerd. Website synchroniseert via symlink:
ln -s ../brekz-cms/lang ./lang
Talen: - Nederlands (NL) - Duits (DE) - Frans (FR) - Italiaans (IT) - Deens (DK) - Zweeds (SE) - Pools (PL) - Engels (EN) - etc.
Technical Details¶
| Aspect | Details |
|---|---|
| Framework | Laravel (PHP) |
| Template Engine | Blade |
| Frontend | Vue.js components |
| Build Tool | Vite |
| Database | Synced via Backend (geen local DB) |
| Caching | Redis (sections, redirects, routing) |
| API Client | Laravel HTTP Client (backend communication) |
Deployment & Sync¶
Website bevat geen eigen database. Alle data wordt gesynchroniseerd:
- Product Data → via Backend API
- Customer Data → via Backend API (authenticated)
- Content Sections → via CMS export
- Translations → via CMS lang directory
- Routing/URLs → via Key-Value Store
Scheduled Tasks¶
# Sync translations from CMS (if using API)
php artisan sync:translations
# Refresh key-value store routing
php artisan cache:clear
Gerelateerde Documentatie¶
Brekz Website Knowledge Base Brekz Website Repo Brekz Shop Backend Brekz CMS