Skip to content

bayuasrori/weding-digital-invitation

Repository files navigation

Ulemanten – Wedding Invitation & Story Platform

Ulemanten is a single-tenant digital wedding invitation platform built on Laravel 12 and Filament v4. It helps couples and event planners curate every aspect of a wedding journey—from managing the ceremony details behind the scenes to presenting a fully branded public invitation with interactive content, venue guidance, and a relationship timeline.

Why It Exists

Organising a wedding involves countless moving pieces: venues, schedules, families, multimedia assets, and the couple’s own love story. Ulemanten centralises those pieces in one admin interface and publishes a beautiful, mobile-friendly microsite for guests. The project focuses on Indonesian localisation (Bahasa copy, local timezones) while remaining flexible for other markets.

Key Features

  • Wedding Management

    • Create multiple wedding invitations with custom branding (colors, hero media, audio, welcome message).
    • Assign an owner (Filament admin user) per wedding.
    • Manage ceremony events with timezone-aware scheduling and optional livestream links.
  • People & Relationships

    • Capture detailed profiles for pengantin (partners) including biography, social media, profession, and display order.
    • Record parents or guardians for each partner and keep their contact information in one place.
  • Venues & Maps

    • Maintain a reusable venue catalog with address, coordinates, and Google Maps links.
    • Connect venues to events and expose the details on the public invitation alongside embedded maps.
  • Relationship Timeline

    • Chronicle the couple’s journey from first meeting to the wedding day using the Cerita Hubungan timeline.
    • Each story entry supports titles, rich-text descriptions, timestamps, and ordering, and is rendered as a vertical timeline on the public page.
  • Public Wedding Page

    • Livewire-powered wedding landing page available at /{slug}.
    • Presents the hero section, partner profiles, parents, event cards, venue guidance, and relationship story with animated reveal effects.
  • Filament Admin Panel

    • Intuitive Filament resource pages for Weddings, Venues, Partners, Parents, Events, and Stories.
    • Inline creation flows (e.g., create a new venue while editing an event).

Tech Stack

  • Backend: Laravel 12, PHP 8.2+
  • Admin UI: Filament v4 (Panels, Schemas, Tables)
  • Frontend: Blade + Livewire
  • Build Tools: Bun + Vite (see package.json)
  • Database: SQLite by default (configurable)

Getting Started

Prerequisites

  • PHP 8.2 or newer
  • Composer
  • Bun or Node.js (for Vite asset pipeline)
  • SQLite (default) or another database supported by Laravel

Installation Steps

git clone <repository-url> ulemanten
cd ulemanten
composer install
cp .env.example .env
php artisan key:generate
php artisan migrate
npm install # or bun install
npm run build # or bun run build

To start the local development stack you can use the included script:

composer run dev

This launches:

  • php artisan serve
  • queue listener
  • pail log viewer
  • Vite development server

Filament Admin Access

Create an administrator account:

php artisan make:filament-user

The admin panel is served at /admin. From there you can add weddings, partners, parents, venues, events, and storyline entries.

Public Invitation Page

Every wedding is publicly accessible via its slug:

http://localhost:8000/{slug}

Guests will see:

  • Hero section with hero image and audio
  • Wedding date and welcome message
  • Partner profiles and parents
  • Relationship timeline (Cerita Hubungan)
  • Event schedule with venues, livestream links, and notes
  • Embedded map for venues with coordinates

Project Structure Highlights

  • app/Filament/Resources/Weddings/... – Admin resources for weddings and related relation managers (partners, parents, events, stories).
  • app/Models – Eloquent models for Wedding, WeddingPartner, WeddingParent, WeddingEvent, WeddingStory, Venue.
  • database/migrations – Schema definitions for the domain entities.
  • app/Livewire/Wedding/WeddingShow.php + resources/views/livewire/wedding/wedding-show.blade.php – Public invitation and storytelling page.

Storytelling Workflow

  1. Create a wedding – Set the slug, tagline, colors, hero media, etc.
  2. Add partners (Pengantin) – Include bios, social media, and display order.
  3. Attach parents/wali – Either via the dedicated tab or nested under each partner.
  4. Configure events – Pick venues, set start/end times (supports multiple timezones), and add livestream links.
  5. Add timeline stories – Capture milestones (perkenalan, lamaran, prewedding, dst.) with timestamps and descriptions.
  6. Preview the public page – Visit /{slug} to confirm the layout, timeline ordering, and event details.

Testing

Run automated tests with:

php artisan test

More feature-specific tests are welcome; feel free to add Pest or PHPUnit suites under tests/.

Contributing & Roadmap

Planned enhancements include:

  • Guest RSVP handling
  • RSVP check-in dashboard
  • Customizable invitation themes
  • Multilingual support

Contributions are welcome—open an issue discussing the feature/fix before submitting a pull request.

License

This project is open-sourced under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages