Quantity   Component name
1 × PIC 16F1705 Any PIC16F17xx can be used, and probably many more as well. I just happened to have a few of these
6 × 74HC595 Any type of the 595 shift register should work
14 × BC547 Any small signal NPN like 2n2222 would work as well
8 × P-channel mostfet Any model should work good enough
14 × 2.2k resistor
8 × Tactile switches
1 × Rotary encoder