https://github.com/rajwanyair/wedding
Wedding Manager v4.7.0 - Open-source PWA for guest RSVP, table seating charts, WhatsApp invitations, budget tracking, vendor management, check-in and analytics. Hebrew RTL + English i18n. Google Sheets sync.
https://github.com/rajwanyair/wedding
budget-tracker event-management google-sheets guest-management hebrew i18n offline-first pwa rsvp rtl seating-chart table-seating vanilla-javascript vendor-management vite wedding wedding-app wedding-management wedding-planner whatsapp
Last synced: 28 days ago
JSON representation
Wedding Manager v4.7.0 - Open-source PWA for guest RSVP, table seating charts, WhatsApp invitations, budget tracking, vendor management, check-in and analytics. Hebrew RTL + English i18n. Google Sheets sync.
- Host: GitHub
- URL: https://github.com/rajwanyair/wedding
- Owner: RajwanYair
- License: mit
- Created: 2026-04-13T05:59:04.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2026-04-26T07:13:52.000Z (about 1 month ago)
- Last Synced: 2026-04-26T08:38:34.102Z (about 1 month ago)
- Topics: budget-tracker, event-management, google-sheets, guest-management, hebrew, i18n, offline-first, pwa, rsvp, rtl, seating-chart, table-seating, vanilla-javascript, vendor-management, vite, wedding, wedding-app, wedding-management, wedding-planner, whatsapp
- Language: JavaScript
- Homepage: https://rajwanyair.github.io/Wedding/
- Size: 5.02 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
- Roadmap: ROADMAP.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# 💍 Wedding Manager
[](https://github.com/RajwanYair/Wedding/releases)
[](https://github.com/RajwanYair/Wedding/actions/workflows/ci.yml)
[](https://github.com/RajwanYair/Wedding/actions/workflows/deploy.yml)
[](https://github.com/RajwanYair/Wedding/actions)
[](.github/workflows/ci.yml)
[](https://nodejs.org)
[](docs/README.md)
[](LICENSE)
[](src/i18n/he.json)
[](.github/workflows/ci.yml)
[](.github/workflows/lighthouse.yml)
[](https://github.com/RajwanYair/Wedding/actions/workflows/codeql.yml)
[](https://github.com/RajwanYair/Wedding/actions/workflows/scorecard.yml)
[](https://github.com/RajwanYair/Wedding/actions/workflows/sbom.yml)
[](https://github.com/RajwanYair/Wedding/actions/workflows/trivy.yml)
[](docs/adr/README.md)
[](.github/workflows/ci.yml)
[](docs/operations/uptime.md)
**Wedding management app for RSVP, guest lists, table seating, WhatsApp outreach, and event-day operations.**
**Vite 8, vanilla JS/CSS, Hebrew RTL first, minimal runtime dependencies (3).**
Node 22+ is the supported local and CI runtime.
---
## Features

## RSVP Journey

## Quick Start
```bash
git clone https://github.com/RajwanYair/Wedding.git
cd Wedding
# Install dependencies (shared tooling lives at ../MyScripts/node_modules/)
# If you cloned into the recommended parent workspace:
npm install --prefix ../MyScripts # one-time shared tooling
npm install # project devDependencies
# — OR — install standalone (CI / first-time setup):
npm ci
# Start local development
npm run dev
```
## Development
```bash
npm run lint # HTML + CSS + JS + Markdown — 0 errors, 0 warnings
npm run format:check # Prettier formatting check (add to pre-commit hook)
npm test # 4187+ Vitest unit tests
npm run build # Vite production bundle → dist/
```
## Overview
```text
index.html HTML shell
css/ layered stylesheets
src/main.js bootstrap entry
src/core/ app primitives: store, nav, events, i18n, ui
src/sections/ feature modules with mount/unmount lifecycle
src/services/ auth, sheets, backend, presence, supabase
src/templates/ lazy-loaded section markup
src/modals/ lazy-loaded modal markup
tests/ Vitest + Playwright coverage
```
## Production Notes
- Runtime entry is `src/main.js`; feature UIs mount from `src/sections/` and lazy templates/modals under `src/templates/` and `src/modals/`
- User-facing strings are localized through `src/i18n/`; Hebrew is the default UI, English is the supported alternate UI toggle
- Data persists locally and can sync through the configured backend path; service worker assets live under `public/`
- CI expects `npm run lint`, `npm test`, and `npm run build` to stay green
## Docs
- [ARCHITECTURE.md](ARCHITECTURE.md): runtime structure, module boundaries, data flow
- [CONTRIBUTING.md](CONTRIBUTING.md): contributor workflow, testing rules, review checklist
- [CHANGELOG.md](CHANGELOG.md): release history and shipped changes
- [ROADMAP.md](ROADMAP.md): active production roadmap and upcoming priorities
Detailed runtime and data-model notes intentionally live outside the README so this file stays public-facing and production-relevant.
## Themes
| Name | CSS class | Primary color |
|------|-----------|---------------|
| Default | (none) | Purple `#8b5cf6` |
| Rose Gold | `theme-rosegold` | `#d4a574` |
| Gold | `theme-gold` | `#f59e0b` |
| Emerald | `theme-emerald` | `#10b981` |
| Royal Blue | `theme-royal` | `#3b82f6` |
## Troubleshooting
| Problem | Fix |
|---------|-----|
| `npm install` fails | Run from parent `MyScripts/` dir — deps are shared via `../MyScripts/node_modules/` |
| Lint errors after pull | `rm -rf node_modules/.cache` then re-run `npm run lint` |
| Tests show `pool deprecated` | Suppressed via `pool: "forks"` + `--no-warnings` — should not appear |
| SW not updating | Bump `CACHE_NAME` in `public/sw.js` to match the new version |
| OAuth redirect fails | Verify `GOOGLE_CLIENT_ID` / `FB_APP_ID` / `APPLE_SERVICE_ID` in `src/core/config.js` |
| Hebrew text reversed | Ensure `dir="rtl"` and `lang="he"` on `` element |
| Vite build OOM | Increase Node memory: `NODE_OPTIONS=--max-old-space-size=4096 npm run build` |
## License
MIT © [RajwanYair](https://github.com/RajwanYair)