A modern wedding website boilerplate
Svelte frontend Β· NestJS backend Β· PostgreSQL
β¨ Modern Β· β‘ Fast Β· π§ Minimal dependencies
Giftarmaal is a modern, self-hostable wedding website boilerplate with batteries included.
It can be deployed with a simple Makefile command and hosted on any Docker-compliant platform β or even on a Raspberry Pi in a closet at home.
The motivation behind the project is to give couples (and developers) a clean, extensible starting point for their wedding website.
The design uses simple Svelte components with inline HTML/scripts, plus a shared Template.svelte to avoid duplication.
Content is stored in the database as structured blocks, giving you full control over content while intentionally not letting you break the design.
Thatβs deliberate β flexibility where it matters, consistency where it counts.
To support extensibility, the system is built around three core domains:
Anyone connected to the wedding belongs here: guests, toastmasters, bride/groom, vendors.
Promote or assign roles to allow:
Where all page content lives.
Managed through an admin UI at /handtere (temporary).
Blocks can be:
The frontend simply loops through them and renders with pre-defined Svelte components.
A lightweight feed for quick wedding updates β like tweets, but without asking guests to join X.
Not yet surfaced in the UI, but intended for:
apps/
ββ web/ # Svelte frontend
ββ api/ # NestJS backend
packages/
ββ shared/ # Shared types & utilities
docker compose exec api sh -lc "cd /app && npx -y [email protected] pnpm --filter api exec prisma migrate dev --name init"
docker compose exec api sh -lc "cd /app && npx -y [email protected] pnpm prisma migrate deploy"