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.
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.
-
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.
- Livewire-powered wedding landing page available at
-
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).
- 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)
- PHP 8.2 or newer
- Composer
- Bun or Node.js (for Vite asset pipeline)
- SQLite (default) or another database supported by Laravel
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 buildTo start the local development stack you can use the included script:
composer run devThis launches:
php artisan serve- queue listener
- pail log viewer
- Vite development server
Create an administrator account:
php artisan make:filament-userThe admin panel is served at /admin. From there you can add weddings, partners, parents, venues, events, and storyline entries.
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
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.
- Create a wedding – Set the slug, tagline, colors, hero media, etc.
- Add partners (Pengantin) – Include bios, social media, and display order.
- Attach parents/wali – Either via the dedicated tab or nested under each partner.
- Configure events – Pick venues, set start/end times (supports multiple timezones), and add livestream links.
- Add timeline stories – Capture milestones (perkenalan, lamaran, prewedding, dst.) with timestamps and descriptions.
- Preview the public page – Visit
/{slug}to confirm the layout, timeline ordering, and event details.
Run automated tests with:
php artisan testMore feature-specific tests are welcome; feel free to add Pest or PHPUnit suites under tests/.
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.
This project is open-sourced under the MIT License.