Logic Circuit Simulator was a university project I had to finish in a semester.
It offers a variety of logic gates and a lot of visual customization options.
Some special elements are also available, like seven-segment display, matrix display, JK flip-flop, adjustable timer and module.
A selected part of a logic circuit can be converted to a module, where the circuit's input elements (buttons, switches) become the input pins and output elements (LEDs) become the output pins of the module.
Modules also support recursion.
Source code: github.com/razzie/LogicCircuitSimulator