-
SukakuExplainer
Modification to Sudoku Explainer (SE) by Nicolas Juillerat to accommodate Sukaku (Pencilmark) Sudoku puzzles
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
If you choose to go down the Mojolicious road, there's lots of deployment information and guides in the Mojolicious Cookbook.
The most complex function is handling the hint generation. Because I'm not smart enough to code the hint generation myself, the hard work is done using a Java tool called Sukaku Explainer which I use to generate one complete solution path for the whole puzzle in HTML. My Perl functions feed a queue of requests into a single instance of the Java program (my 1GB VPS couldn't handle more than one). The HTML is then munged into JSON like this for consumption by the frontend. The JSON is also saved to a file, so that if two people ask for hints for the same puzzle Nginx can directly return the contents of that file - that way the function only gets called if the file does not already exist.