← Back to home
PAID CLIENTSOLO FULLSTACK

INDETA

Tourism platform built alone for a paying client. Visitors browse destinations, local UMKM products and travel packages and leave reviews, and the client manages all of it from an admin dashboard.

  • Laravel
  • Supabase
  • PostgreSQL
  • Tailwind
  • Vite
  • Vercel
INDETA — screenshot

OVERVIEW

The client wanted one site for tourist destinations, local UMKM products, travel packages and articles, with visitor ratings and reviews. Visitors can filter destinations by category and browse photo galleries, and the admin dashboard covers all five content types with image uploads. Laravel 12 renders the pages, and the browser reads and writes data directly through the Supabase JS SDK, so the project has no separate API layer. The site installs as a PWA and is deployed on Vercel.

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.