A holiday-themed gift calendar app where friends vote on what best represents you across fun categories — then you unwrap the results one day at a time before Christmas!
- 🎁 Personal Gift Calendar — Each user gets a unique calendar with 9 categories to reveal
- 👥 Invite Friends — Send email invitations for friends to vote on your calendar
- 🗳️ Voting System — Friends answer fun prompts like "What animal represents this person?" or "What's their aura color?"
- 📦 Daily Reveals — Unwrap gift boxes to see aggregated votes and who voted for what
git clone https://github.com/yourusername/christmas-wrapped.git
cd christmas-wrapped
pnpm install- Create a new project at supabase.com
- Run the SQL from
schema.sqlin the Supabase SQL Editor to create tables, triggers, and seed data - Enable Email Auth in Authentication → Providers
Create a .env.local file that follows the structure provided in the .env.example file
pnpm devOpen http://localhost:3000 to see the app.
- Sign up with your email
- Generate your calendar to get a unique calendar code
- Invite friends by entering their email addresses
- Wait for votes — see who has voted
- Reveal gifts — open boxes to discover what friends think of you!
- Receive invitation via email or direct link
- Sign up/Log in to vote
- Answer prompts across 9 categories
- 🐾 Animal that represents them
- 🌍 Place that fits their vibe
- 🌸 Plant personality match
- ❄️ Season energy
- 🎨 Hobby they'd master
- 🍕 Comfort food soulmate
- 🎨 Aura colour
- 🎭 Fictional character twin
- 💌 Personal note/message
In lib/constants.ts, set TEST_MODE = true to bypass date-based unlock restrictions, allowing you to reveal the giftboxes anytime ignoring the countdown to Christmas:
export const TEST_MODE = true; // All boxes openable immediatelyThis project is licensed under the terms in the LICENSE file.
