A gift list app built with Next.js and Material UI. This project delivers a robust application designed to streamline and manage gift exchange events, ensuring fair and customized participant assignments.
Key Features Include:
- Comprehensive Participant Management:
- Full CRUD capabilities for managing participant profiles.
- Efficient listing and preference management for each participant.
- Intelligent Gift Assignment Engine:
- Ability to define and enforce exclusion rules (e.g., preventing certain participants from exchanging gifts).
- A random assignment algorithm that strictly adheres to all set rules, ensuring each participant gives and receives exactly one gift.
- Exchange History & Tracking:
- Secure storage of past exchange results.
- Quick access to the last 5 exchange outcomes for historical reference.
start the database
docker-compose up -dcopy the env file
cp .env.example .envthe only thing you need to change is the GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET in the .env file. The database URL is pointing to database you just started in the docker container.
Run the DB migrations
pnpm install
pnpm exec drizzle-kit pushstart the app
pnpm run dev