How would I go about making a puzzle system to open doors to places such as end of levels

I want to make a system where at the end of each level there is a door and when you press a certain key a pop up appears with a puzzle system (The play has to collect items which enables them to use the door throughout the level) and then completes the puzzle in the correct order to unlock the door?
(Example: Pipes puzzle in Bioshock)