Skip to content

MRWH1TE117/wedding-seating-planner

Repository files navigation

Wedding Seating Planner

Polska wersja

A bilingual, local-first web application for arranging wedding tables, chairs, guests, and essential venue objects on a simple top-down 2D plan.

Current status

Version 0.3.1 is the current functional MVP. It includes the 2D editor, guest assignment, local persistence, spreadsheet import, backups, printable exports, and a graphical entrance-board generator. The public repository is available at MRWH1TE117/wedding-seating-planner.

Empty Wedding Seating Planner workspace

Features

  • Round, rectangular, and head tables with exact chair assignments.
  • Automatic table sizing based on shape and seat count, an optional manual mode, and a warning when a manually sized table is too small.
  • Small round tables keep synchronized diameter, responsive labels, and correctly reflowed chairs. Head-table seats are arranged in close couples with larger gaps between pairs.
  • Automatic chair arrangement after changing table shape, plus an unlock mode for moving individual chairs manually.
  • Rectangular tables place chairs along the top and bottom by default, with an optional all-sides layout.
  • Automatic or manual guest-name rotation (0°, 90°, or -90°), also respected in PDF output.
  • Movable tables and venue objects: dance floor, stage, entrance, buffet, bar, restroom/WC, and custom named objects.
  • Drag handles for dynamically resizing tables and venue objects, with automatic local persistence and chair reflow for locked table layouts.
  • Exact rotation entry in degrees alongside the rotation slider.
  • Guest names displayed next to occupied chairs.
  • Clicking a chair selects that exact seat with a visible blue focus ring, keeps the assigned guest visible in the list, and does not activate table resize handles.
  • A saved Names/Numbers plan mode with stable table numbers, numbered chair dots, and table/seat summaries in the guest list.
  • A printable entrance-board generator with a graphical table plan plus matching numbered guest list, alphabetical or by-table alternatives, six visual themes, optional exact seat numbers, live preview, and A1-A4 PDF export. The white-and-blue theme uses a porcelain-inspired frame and floral ornaments in both preview and PDF.
  • Guest assignment by selecting a guest and a chair, drag and drop, or table-by-table selects.
  • Prominent manual guest creation with an optional group/family description, individual guest deletion, and confirmed deletion of the complete guest list with automatic seat cleanup and a safety snapshot.
  • A visible plan summary, prominent unassign action, and a confirmed Clear plan action with a safety snapshot.
  • Configurable grid with independent visibility and snap-to-grid controls.
  • Editable room width and length with safe repositioning of object centers after shrinking the venue.
  • Plan zoom from 50% to 200%, mouse-wheel zoom, background panning above 100%, fit-to-view reset, and a real fullscreen canvas mode.
  • XLSX, XLS, CSV, and pasted spreadsheet-row import with column mapping and duplicate detection.
  • Automatic local storage in IndexedDB and daily recovery snapshots.
  • Versioned .weddingplan.json backup and validated restore with safety snapshots.
  • PDF export in A4/A3, portrait or landscape, with an optional grid and a guest list grouped by table.
  • XLSX and CSV exports.
  • Complete Polish and English interface.
  • Undo and redo for project changes.
  • A first-time visitor starts with an empty plan; sample fixtures exist only inside automated tests and are never loaded into the application.

Privacy

The application has no account system or backend. Wedding plans and guest data stay in the current browser unless the user explicitly exports a file. Clearing site data can remove locally saved projects, so periodic JSON backups are recommended.

Technology

  • React and TypeScript
  • Vite
  • Konva / react-konva
  • Dexie and IndexedDB
  • SheetJS
  • PDF-Lib with embedded Unicode fonts
  • i18next
  • Vitest and Playwright

The application version comes from package.json and is displayed in the top bar. Releases follow semantic versioning (major.minor.patch).

Local development

Requirements: a current Node.js release and npm.

On Windows, double-click uruchom-planer.cmd. It installs missing dependencies when needed, starts the development server in a separate window, and opens the application in the browser. Keep the server window open while using the planner.

Manual startup:

npm install
npm run dev

Open the local address shown by Vite.

Verification

npm test
npm run build

The production build is written to dist/.

Data formats

  • .weddingplan.json is the lossless backup and restore format.
  • .xlsx is used for guest import and structured project reports.
  • .csv is used for simple guest-list interchange.
  • .pdf is the printable output for the venue and wedding team.

Documentation

Deferred beyond the MVP

Cloud sync, user accounts, real-time collaboration, public share links, automatic seating suggestions, and native mobile applications are intentionally outside the current scope.

About

Bilingual local-first wedding seating planner with a 2D venue editor and printable PDF boards

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors