What research have you done on your own, or would you like us to do up a parts list for you?
The concept is easy enough - you want to know if the door is open or closed; if open, you want to start a timer - after a set amount of time, you want to attempt to close the door. You must have some form of safety - generally the beam safety involved; but since most automation controllers wouldn't know if an attempted close failed because of the safety eye, it's also a nice idea to have connectivity to allow sending an email (which can turn into a text message) alerting of a failed auto-close.
Try WebControl units or Arduino with a specific Garage Door sensor and a relay tied into your wall button - they should allow for a lot of flexibility.