🎁 A Secret Santa draw generator that creates beautiful PDFs for each participant
Clone or download
Latest commit 4d2c285 Jan 18, 2019


🎁 Santulator

Build Status Code Coverage Latest Release Twitter Follow

Santulator helps you run your Secret Santa draw simply and flexibly. You can enter the names of the people participating in the draw and the system will randomly choose who will give presents to whom. If you want to avoid certainly parings, for example to ensure that people don't get their own partners in the draw, you can add exclusions. When the draw is run, a PDF will be generated for each person telling them who to buy a present for. If you want to avoid accidentally seeing all of the results, you can add a secret password to the generated PDF files. Santulator draw selection Santulator in action

How To Use Santulator

Santulator is available for free from the download page of the project website. You can find a complete tutorial explaining how to use the system on the help page.

Running The Development Version of Santulator

You will need JDK 11. The version used for building Santulator releases is OpenJDK 11 with Hotspot, from AdoptOpenJDK.

With your JDK installed you can then clone this repository and run the following to start Santulator:

$ ./gradlew :gui:run

How To Build Santulator

You can build the entire system with the following command:

$ ./gradlew clean build

How To Run The GUI Test

By default the GUI test runs as part of the standard Gradle build, in headless mode. If you'd like to run the GUI test in a non-headless mode so that you can see what is happening, use the following command:

$ ./gradlew :gui:test --tests io.github.santulator.gui.main.GuiTest --rerun-tasks -PnoHeadless

How to Build The Installable Bundle

Using the Java Packager with JDK 11

In the article Using the Java Packager with JDK 11 you can read about how the Santulator installable bundles for Mac, Windows and Linux are created and how you can do this in your own project. These self-contained installers allow users to setup Santulator on their computer without the need to first install Java.

You can also find full, step-by-step instructions for creating the Santulator installable bundle in PACKAGING.md.