A beautiful, interactive web application for organizing Secret Santa gift exchanges. Built with Flask and modern web technologies, this application provides a seamless and enjoyable experience for managing your holiday gift exchange.
- Interactive UI: Clean, modern interface with smooth animations and transitions
- Real-time Updates: Participant list updates automatically as selections are made
- Festive Design: Includes falling snowflakes, gradient backgrounds, and holiday-themed elements
- Fair Selection: Ensures random and unique gift assignments
- Progress Tracking: Visual indicators show which participants have already made their selections
- Mobile Responsive: Works seamlessly on both desktop and mobile devices
- Backend: Python/Flask
- Frontend: HTML5, CSS3, JavaScript
- Styling: Custom CSS with animations
- Icons: SVG icons for visual elements
- Font: Inter font family from Google Fonts
- Open the application in your browser
- Select your name from the dropdown menu
- Click the "Continue" button to draw your Secret Santa assignment
- Your assignment will be displayed with a festive animation
- Take a screenshot or note down your assignment
- Keep it secret!
You can customize the application by:
- Modifying the participant list in
data.json
- Adjusting colors and animations in
styles.css
- Updating the UI elements in the HTML templates
- Python 3.x
- Flask
- Clone the repository:
git clone https://github.com/ThatSINEWAVE/secret-santa-2025.git
cd secret-santa-2025
- Install dependencies:
pip install flask
- Run the application:
python app.py
- Open your browser and navigate to:
http://localhost:5000
secret-santa-2025/
├── app.py # Flask application logic
├── data.json # Participant and selection data
├── static/
│ └── styles.css # Stylesheet with animations
├── templates/
│ ├── index.html # Main page template
│ └── draw.html # Selection result template
└── site-data/ # Favicon and site icons
To reset all selections and start fresh:
- Stop the application
- Clear the "drawn" object in
data.json
- Restart the application
Contributions are welcome! If you find any bugs or have ideas for improvements, feel free to submit an issue or a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.