Sea Leader

Platform web komersial untuk kebutuhan branding, informasi destinasi/fleet, dan sistem booking kapal wisata.

Tech Stack :
NuxtJSElysiaJS
Sea Leader preview 1

Sea Leader Marine - Project Info

Deskripsi

Sea Leader Marine adalah platform web komersial untuk kebutuhan branding, informasi destinasi/fleet, dan sistem booking kapal wisata. Aplikasi ini mencakup public website, autentikasi + verifikasi email, dashboard bertingkat (User/Admin/Super Admin), CMS, referral, payment integration, dan reporting (termasuk export CSV).

Arsitektur

  • Frontend (Nuxt.js 3): UI public pages, booking flow, dashboard, CMS panel.
  • Backend (Node.js + Elysia + TypeScript): REST API, business logic, auth, payment webhook, reporting.
  • Database (PostgreSQL + Prisma ORM): model data terstruktur untuk users, admins, bookings, payments, referral, dan logs.
  • Email Service (Nodemailer): verifikasi akun dan email transaksional booking.

Stack / Teknologi

Frontend

  • Nuxt.js 3 (Vue 3 + Nitro)
  • TypeScript
  • Tailwind CSS
  • Chart Library (multi-series bar/line/pie untuk dashboard)

Backend

  • Node.js
  • Elysia (HTTP framework)
  • TypeScript
  • Prisma ORM + @prisma/client
  • PostgreSQL (Supabase/managed Postgres compatible)
  • JWT (access token + refresh token flow)
  • Nodemailer (email verification / transactional email)
  • export-to-csv (report export)

DevOps & Tools

  • npm scripts
  • tsx (dev/test runtime)
  • Vercel (deployment target)
  • Postman collection untuk API testing

Modul Utama

  • Public Website: Homepage, Destinations, Fleet, About.
  • Authentication: Register, Login, Email Verification, Refresh Token, Logout.
  • Booking System: Regular & Private booking flow, capacity validation, pricing & referral calculation.
  • Payment: payment endpoint + webhook handling + payment status update.
  • Dashboard:
    • User: upcoming/past trips, ticket access.
    • Admin: stats revenue/bookings/passengers, recent bookings, CMS access.
    • Super Admin: advanced analytics + access management.
  • CMS: CRUD destinations, fleet, content, referral code.
  • Reports: CSV export untuk booking/payment/referral logs.
  • Admin Logging: audit trail untuk aksi admin.

Struktur Data (High-Level)

  • users
  • admins (role: ADMIN, SUPER_ADMIN)
  • destinations
  • fleet / boats
  • bookings
  • payments
  • referral_codes
  • referral_usages
  • admin_logs

Menjalankan Proyek (Backend)

Menjalankan Proyek (Frontend Nuxt)