Skip to content

Brekz Website

Terug naar Brekz

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