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 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.
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
You can build the entire system with the following command:
$ ./gradlew clean build
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
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.
Over on the King Tech Blog you can read more about the project in Open Source & Secret Santa with Santulator. The article includes information about how JavaFX CSS is used to give Santulator a festive colour scheme.