PAID CLIENTSOLO FULLSTACK
INDETA
Tourism platform: destinations, UMKM products, travel packages and articles, with visitor reviews and an admin CMS. Laravel renders, Supabase does the rest.
- Laravel
- Supabase
- PostgreSQL
- Tailwind
- Vite
- Vercel

OVERVIEW
Visitors browse destinations by category, read articles, look through local UMKM products and travel packages, and leave a rating and review; an admin dashboard covers full CRUD over all of it, with live counts and image uploads. The architecture is the part worth explaining: Laravel 12 stays a thin routing and Blade rendering layer, while fetching, auth, CRUD and file upload all run client-side through the Supabase JS SDK. So the framework renders and the BaaS holds the data — no API layer of my own in between. Installable as a PWA, deployed serverless on Vercel through vercel-php.
WHAT I DID
- BaaS-driven architecture: Laravel 12 handles routing and Blade views only, while data fetching, auth, CRUD and uploads go straight from the browser to Supabase — a traditional PHP framework and a modern BaaS sharing one app, with no API of my own between them.
- Five content types under one admin dashboard — destinations, categories, articles, UMKM products and travel packages — with full CRUD, image upload to Supabase Storage, live counts and the product-to-destination relation.
- Ratings and written reviews from visitors on every destination, alongside a photo gallery and category filtering.
- Installable as a PWA through a service worker and web manifest, and deployed serverless on Vercel with vercel-php rather than on a traditional PHP host.