← Kembali ke Portofolio

EventTuban

Kunjungi Proyek →

EventTuban is a full-stack web platform for aggregating and showcasing local events in a structured directory. Built for the Tuban community in East Java, it bridges the gap between event organizers and the public — making local events easier to discover, submit, and manage.

Architecture

The platform uses the Inertia.js SPA pattern, pairing Laravel 12 on the backend with React 19 + TypeScript on the frontend. This eliminates the need for a separate REST API while delivering a fast, single-page app experience. The UI is built entirely with Shadcn/UI components on top of Tailwind CSS v4, resulting in a polished and fully responsive interface.

Key Features

  • Public event directory — browse events by category, date, and location
  • Community submission workflow — organizers submit events for admin review before going live
  • Admin curation & moderation panel — full control over published content
  • TikTok OAuth 2.0 integration — import TikTok videos directly as event entries
  • Telegram Bot notifications — automated alerts sent to Telegram channels/groups when new events are published or submissions need review
  • Hierarchical categories & subcategories — structured event taxonomy
  • Tagging system — flexible cross-category labeling
  • Dynamic sitemap generation — auto-generated XML sitemap for SEO
  • Monthly event statistics — insights into event trends over time
  • Rich text editor — Quill.js with DOMPurify sanitization for safe content

Tech Stack

LayerTechnology
BackendLaravel 12, PHP 8.2, Inertia.js
FrontendReact 19, TypeScript, Tailwind CSS v4
UI ComponentsShadcn/UI, Radix UI, Lucide Icons
Build ToolVite 7
DatabaseSQLite / MySQL
TestingPest PHP
IntegrationTikTok API (OAuth 2.0), Telegram Bot API
Rich TextQuill.js, DOMPurify