ELSAMA
Elsama Luxury Marble: En flersproget, redaktionel platform for marmor og arkitektoniske overflader, designet til at forvandle førsteklasses browsing til kvalificerede kommercielle forespørgsler.
Elsama Luxury Marble
En flersproget, redaktionel platform for marmor og arkitektoniske overflader, designet til at forvandle førsteklasses browsing til kvalificerede kommercielle forespørgsler.
Elsama Luxury Marble er en portefølje-baseret Laravel-applikation bygget til en virksomhed inden for eksklusive materialer, der har brug for mere end bare en brochure-hjemmeside. Den præsenterer projekter, materialer, blogindlæg, udtalelser og servicepositionering på en måde, der understøtter både brandets troværdighed og salgskonvertering. Platformen er optimeret til internationale målgrupper med lokalespecifik routing, RTL-understøttelse og oversat indhold gemt direkte i domænemodellen. På driftssiden driver den samme kodebase både en offentlig Inertia React-oplevelse og et Filament CMS/admin-lag til styring af indhold, forespørgsler og analyse.
Kerneværdiforslag
- Ydeevne og skalerbarhed: Den offentlige oplevelse serveres gennem Inertia v2 med SSR-understøttelse, eager-loaded relationer, lette JSON-ressourcer, cachelagrede indstillinger, database-baserede køer og billedkonvertering til WebP for hurtigere sidelevering.
- UX/UI-ekspertise: Frontend-delen benytter et luksuriøst, redaktionelt visuelt sprog med store typografier, billed-fokuserede layouts, responsive kort, load-more blog-interaktioner, sticky WhatsApp-konvertering og lokalespecifik layout-retningsskift.
- Sikkerhed og pålidelighed: Forespørgsler valideres på serversiden, er begrænset pr. IP, køes til levering og spejles til både det interne team og den potentielle kunde. Admin-fladen er isoleret bag Filament-autentificering, mens soft deletes af indhold og sessionsbaseret lokalepersistens reducerer driftsrisikoen.
Teknisk arkitektur og stack
Frontend
- Framework: React 18 med Inertia.js v2 og SSR-entry points i
resources/js/app.tsxogresources/js/ssr.tsx. - Tilstand og navigation: Inertia-router,
useForm, rute-hjælpere via Ziggy og klient-side paginering/filtrering til katalog- og blogvisninger. - Styling og bevægelse: Tailwind CSS, Headless UI, Framer Motion og en bevidst mørk, redaktionel farvepalette skræddersyet til et brand for eksklusive materialer.
- UI-mønstre: Offentlig layout-skal, genanvendelige kort og CTA'er, rendering af flersproget indhold og responsiv hero/sektions-komposition.
- Rigt indhold: TipTap er tilgængelig til CMS-indholdsskrivning i lang form i admin-panelet.
Backend / API
- Framework: Laravel 13 med klassisk MVC-routing og Inertia-svar til det offentlige site.
- Domænemodellering: JSON-oversatte felter til navne, beskrivelser, SEO-tekst og blogindhold; slug-baseret route model binding; soft deletes på centrale katalog-entiteter.
- Dataadgang: Dedikerede API-ressourcer normaliserer medie-URL'er, oversat indhold og relationelle payloads, før de når frontend-delen.
- Forretningstjenester: En oversættelseshjælper håndterer locale-fallbacks, en indstillingsmodel cacher globale konfigurationer, analyser lagres gennem et servicelag, og billeder konverteres til WebP før lagring.
DevOps og infrastruktur
- Lokal runtime: Projektet er designet til en standard PHP + Node-toolchain og Laravel Herd. Ingen Docker-stack er committet i repositoriet.
- Køer og mail: Database-kø er standardvalget, med køede forespørgselsnotifikationer og log-baseret mail konfigureret til lokal udvikling.
- Lagring: Offentlige medier skrives til
public-disken og serveres frastorage/app/public. - Build-pipeline: Vite kompilerer klient-bundtet og SSR-bundtet, mens repository-scripts også starter app-serveren, kø-lytteren og log-taileren samtidig under udvikling.
- Caching: Laravel-cache bruges til globale indstillinger, og konfigurationen kan skiftes til andre understøttede drivere, når miljøet kræver det.
Arkitektur-flow
flowchart LR
Browser[Offentlig Browser] --> Inertia[Inertia React Sider]
Inertia --> Controllers[Laravel Controllers]
Controllers --> Resources[API Ressourcer + Locale Manager]
Controllers --> Models[Eloquent Modeller + Services]
Models --> DB[(MySQL / SQLite)]
Models --> Cache[(Laravel Cache)]
Controllers --> Queue[(Database Kø)]
Queue --> Mail[Forespørgsels-emails]
Controllers --> Storage[(Offentlig Lagring / WebP Medier)]
Admin[Filament Admin] --> Controllers
Admin --> Models
Controllers --> Analytics[(Analyse Logs)]
Dybdegående teknisk gennemgang
1. Lokale-bevidst levering af indhold
Udfordringen er ikke blot at oversætte tekststrenge; det er at holde URL'er, layout-retning og indholds-payloads konsistente på tværs af seks lokale-miljøer, samtidig med at SEO-venlige slugs og forretningsvenlige tekster bevares. Løsningen bruger et {locale} rute-præfiks, sessionsbaseret locale-persistens og en LocaleManager, der opløser oversatte værdier fra JSON-kolonner med fornuftige fallbacks. Arabisk behandles som RTL i layout-laget, så den offentlige skal opdaterer dokumentretningen dynamisk i stedet for at stole på duplikerede skabeloner.
2. Konverteringsfokuseret forespørgsels-pipeline
En forespørgselsformular med høj værdi skal være hurtig, troværdig og modstandsdygtig over for misbrug. Kontakt-controlleren validerer payloaden på serversiden, gemmer den som en forespørgselspost og køer to emails: en til det interne team og en som et automatisk svar til den potentielle kunde. En dedikeret rate-limiting middleware begrænser indsendelser pr. IP, hvilket beskytter leveringsevnen og holder salgs-indbakken ren uden at tilføje friktion for legitime kundeemner.
3. Medierigt katalog og redaktionelt CMS
Sitet præsenterer materialer, projekter og artikler som et visuelt katalog, ikke som flade databaseposter. Controllers eager-loader billed- og relationsdata, ressourcer normaliserer medie-URL'er og oversat indhold, og frontend-delen renderer kategorifiltre, progressiv blog-indlæsning og store visuelle kort med minimal kompleksitet på klientsiden. På admin-siden leverer Filament et struktureret CMS og analyse-dashboard, så ikke-udviklere kan opdatere indhold, håndtere forespørgsler og overvåge trafikmønstre uden at røre ved applikationskoden.