Full-stack · Real-time Truekapp
A barter marketplace I built and took all the way to production
A full-stack barter marketplace where people swap items without money — post what you no longer use, propose trades, chat and rate each other. It began as my final degree project and I pushed it far beyond that: a real app running in production on my own server. Built with Laravel 12 and a service-oriented architecture, it brings together real-time messaging, an AI assistant and semantic search, shipped through a CI/CD pipeline with an automated test suite on every push.
- Real-time chat over WebSockets (Laravel Reverb) with authorized private channels
- AI assistant with agentic RAG + tool calling (Google Gemini): answers questions, proposes trades and can re-search the catalog mid-conversation
- AI photo-to-listing: take a photo and Gemini Vision suggests the title, category and description
- AI image moderation that blocks inappropriate uploads before they're stored
- Semantic search that ranks the catalog by meaning, reusing embeddings
- A "wishlist" with automatic matching, plus favorites
- Trade system with proposals, ratings and reputation
- REST API with token authentication (Laravel Sanctum)
- Fully bilingual (EN/ES) with a permission-based admin panel and a daily-reset public demo
- Backend: Laravel 12, PHP 8.3, service-oriented architecture
- Real-time: Laravel Reverb (WebSockets)
- AI: Google Gemini (chat, embeddings + vision) with RAG and function calling
- Database: MySQL
- Frontend: Blade, Tailwind CSS, Alpine.js, Vite
- Auth & API: Laravel Sanctum
- Testing: Pest (120+ tests, incl. AI assistant evals) · Code style: Laravel Pint
- My own VPS (Hetzner, Ubuntu) configured by hand — no Forge/Ploi panels
- Nginx + PHP-FPM + MySQL set up and managed manually
- Supervisor keeps the Reverb daemon and the queue worker alive
- SSL via Let's Encrypt, with Cloudflare in front (CDN + DDoS/WAF + CSAM scanning)
- CI/CD with GitHub Actions: the test suite runs on every push
- A daily cron rebuilds the demo, plus a security-hardening pass (CSP, rate limits, headers)