Thought Process on Designing Circuits
In addition to SomeHardwareGuy's excellent answer, try to break the job into smaller tasks that you think you can understand, then design each of those (breaking them into smaller tasks if necessary).

For your door lock, some tasks may be:


read the keypad
compare entered number to combination
start with hard-coded combination, when working, think about having user set combination
if valid combination, release lock (investigate mechanical details for this)
include provision to reset system if invalid combination entered
auto reset after correct combination and door opened.
other thoughts: timeout if good combination, but door not opened?
etc....