{"id":47873917,"url":"https://github.com/uricamic/wedding_website","last_synced_at":"2026-04-04T01:02:14.043Z","repository":{"id":346865200,"uuid":"1189852726","full_name":"uricamic/wedding_website","owner":"uricamic","description":null,"archived":false,"fork":false,"pushed_at":"2026-03-25T18:56:20.000Z","size":45713,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-26T19:31:14.106Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uricamic.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-23T18:23:04.000Z","updated_at":"2026-03-25T18:56:23.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/uricamic/wedding_website","commit_stats":null,"previous_names":["uricamic/wedding_website"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/uricamic/wedding_website","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uricamic%2Fwedding_website","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uricamic%2Fwedding_website/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uricamic%2Fwedding_website/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uricamic%2Fwedding_website/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uricamic","download_url":"https://codeload.github.com/uricamic/wedding_website/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uricamic%2Fwedding_website/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31383636,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T23:20:52.058Z","status":"ssl_error","status_checked_at":"2026-04-03T23:20:51.675Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-04T01:01:40.431Z","updated_at":"2026-04-04T01:02:13.939Z","avatar_url":"https://github.com/uricamic.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Wedding Website - Alina \u0026 Michal\n\nStatic, mobile-first wedding website in Czech, English, and Ukrainian, designed for GitHub Pages with optional real backend via Supabase.\n\n## Features\n\n- Elegant pink-lila design with explicit Moravian Vnorovsky and Ukrainian vyshyvanka-inspired ornaments.\n- Language switcher (`CZ`, `EN`, `UA`) with persisted selection.\n- Story, timeline, gallery, RSVP form, contacts, and future seating-plan section.\n- RSVP fields now include accommodation needs.\n- Admin dashboard (`admin.html`) now supports filtering, CSV export, and interactive seating assignment editor.\n- No build step required.\n\n## Project Structure\n\n- `index.html` - Main website.\n- `styles.css` - Styling and responsive behavior.\n- `script.js` - Translations, gallery, RSVP submission logic.\n- `admin.html` - RSVP admin dashboard UI.\n- `admin.js` - Admin login, allowlist check, filtering/export, and seating assignment management.\n- `config.js` - Local runtime configuration (Supabase keys).\n- `config.example.js` - Configuration template.\n- `supabase-schema.sql` - Database schema and RLS policies.\n- `.github/workflows/deploy-pages.yml` - GitHub Pages deployment workflow.\n\n## Local Preview\n\nOpen `index.html` directly in your browser.\n\nIf Supabase is not configured, RSVP will still work in preview mode by saving response data to browser `localStorage`.\n\n## GitHub Pages Deployment\n\n1. Create a GitHub repository and push this project.\n2. In repository settings, open `Pages` and set source to `GitHub Actions`.\n3. Ensure default branch is `main`.\n4. Push to `main`; workflow `.github/workflows/deploy-pages.yml` deploys automatically.\n\n### Troubleshooting: `Get Pages site failed` / `Not Found`\n\n- The workflow already includes `enablement: true` for `actions/configure-pages`, so it can initialize Pages automatically.\n- If deployment still fails, verify you have admin rights on the repository.\n- In organization repositories, ensure GitHub Pages is allowed by org policy.\n- Confirm you are pushing to `main` (the workflow trigger branch).\n\n## Real Backend With Supabase\n\n1. Create a free Supabase project.\n2. Run SQL from `supabase-schema.sql` in Supabase SQL editor.\n3. Copy `config.example.js` to `config.js` and fill:\n\t- `supabaseUrl`\n\t- `supabaseAnonKey`\n4. Commit `config.js` with your public keys (anon key is safe for frontend use).\n5. In Supabase Auth, create admin user(s) with e-mail + password.\n6. Add at least one admin e-mail to allowlist table, for example:\n\t- `insert into public.admin_allowlist(email) values ('you@example.com');`\n7. Open `admin.html` and log in with e-mail + password to see RSVP dashboard.\n\nNote: `admin.html` is intentionally not linked from the public homepage, so you can access it privately by direct URL.\n\nImportant: Do not store plaintext passwords in `admin_allowlist` or any custom table. Passwords are handled securely by Supabase Auth.\n\n## Important Security Note\n\n- Reading RSVP rows and editing seating assignments is restricted to allowlisted authenticated users.\n- Public website visitors can insert RSVP rows only.\n\n## Future Seating Plan\n\n- Public site has a dedicated section in UI (`#seating`).\n- Admin panel now includes an interactive seating assignment editor with one active seat assignment per RSVP.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Furicamic%2Fwedding_website","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Furicamic%2Fwedding_website","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Furicamic%2Fwedding_website/lists"}