CS Victoria Maramureș is a full-stack web platform for a sports club in Baia Mare, Romania, built from scratch on a brutalist design system (edge-to-edge layouts, Oswald + JetBrains Mono + Archivo typography, zero shadows, high-contrast palette) inspired by combat sports identity.
8 public Livewire pages — homepage, training, gallery, competitions, team, sponsors, contact, blog (index + post detail). Each page is its own Livewire 4 component with a unified hero, animated marquee, edge-to-edge sections with brutalist section numbering (◆ 01 / 06), and contextual CTAs. The sporting season (2025/26) and current year are computed dynamically through Carbon with ro locale.
AI-search-optimized blog — articles ship with validated schema.org BlogPosting JSON-LD (headline, image, datePublished, dateModified, author), itemprop microdata, structured breadcrumbs, Facebook/LinkedIn/WhatsApp share buttons, and a REST analytics API (/api/posts/{post}/track-share, /track-time, /stats) for engagement tracking. The listing uses consistent brutalist cards with wire:navigate for SPA-like browsing.
Interactive gallery — responsive grid with an Alpine.js lightbox, keyboard navigation (← → Esc), scroll trap, animated transitions, and lazy loading. Images are served from Laravel storage, each with admin-editable alt text.
Filament v5 admin panel — 4 complete resources (Posts, Gallery, Competitions, PerformanceAthletes) with advanced form builders (Repeater, relationship Selects, public-visibility image uploads), filters, pagination, and Eloquent relationships. All site content (articles, images, competition palmarès, performance athletes) is managed exclusively from the admin panel, no code edits required.
Contact form — server-side validation through Form Request, rate limiting, anti-spam, email notifications to the administrator, and a brutalist UI consistent with the rest of the site.
Visual weekly schedule — 7-column CSS grid that shows the entire week of sessions at a glance across 3 locations (Baia Mare, Petrova, Poienile de sub Munte), with color coding for striking / mixed groups / fitness.
Performance & SEO — all images in WebP format with lazy loading, preloaded fonts, automatic cache-busting through filemtime(), >90 PageSpeed score, sitemap.xml + robots.txt, social-sharing meta tags (OpenGraph + Twitter Cards), and structured data for SportsActivityLocation and Organization.
Tech stack: PHP 8.4, Laravel 13, Livewire 4, Filament 5, Alpine.js, Tailwind CSS 3, Carbon (ro locale), MySQL, Laravel Pint, PHPUnit, custom brand.css (~1700 lines brutalist design system), Vite