PieceClick is a full-stack social platform for LEGO enthusiasts to showcase custom builds, discover enhancements, and connect with other builders. A solo side project built from scratch using Laravel 12, deployed on Render.com with a complete Docker setup for local development.
The platform revolves around the concept of a build: a LEGO creation assembled (sometimes from multiple compatible sets) that can be photographed, tagged, linked to official LEGO set data via the Rebrickable API, and shared publicly. Users can request specific modifications for their own sets (LED lighting, motorization, 3D-printed display stands, side builds), and builders can fulfil those requests by posting matching builds, triggering an automatic email notification.
Tech stack: Laravel 12, PHP 8.2, MySQL 8.0, Blade, Alpine.js, Tailwind CSS, Vite, Laravel Reverb, Laravel Echo, Meilisearch (Laravel Scout), Redis, AWS S3 / Cloudflare R2, Resend, Rebrickable API, Google OAuth 2.0, Sentry, Docker, GitHub Actions CI/CD.
Key Highlights
- Build showcase with multi-photo upload, tags, set metadata from the Rebrickable API, and STL file attachments.
- Enhancement request system with automatic email notification when a matching build is published.
- Real-time notifications via Laravel Reverb (WebSockets) for likes, comments, followers, and fulfilled requests.
- Full-text search powered by Meilisearch via Laravel Scout.
- Social layer: follow, like, bookmark, threaded comments, and block.
- Automated content moderation with community reporting and admin review queue.
- Admin dashboard with analytics, user and build management, audit log, CSV exports, and site settings.
- Email/password, Google OAuth 2.0, TOTP two-factor authentication, and GDPR data export and deletion.
Build Showcase
Upload builds with multiple photos, descriptions, tags, external links, compatible set numbers, and LEGO set metadata auto-fetched from the Rebrickable API. Images are processed asynchronously via a Redis-backed queue job using PHP's GD extension.