The 1st party guide is everything you need to get the concept of module/extension/add-on/plugin/fieldtype development : https://ellislab.com/expressionengine/user-guide/development/index.html
If you're looking to hook into existing events refer to the list of hooks availabel and create an extension : https://ellislab.com/expressionengine/user-guide/development/extension_hooks/
It looks to me like you don't need to do everything yourself as EE has a lot of what you want available. For instance you've described a classic Email sign up with a custom action on acceptance. You could use the registration system, with self verification via email, don't collect, set or otherwise set a passsword, when the user verifys registration hook the relivent event to do what you need, then put the 'signed up' user in a group that doesn't allow classic log in. This way the member system also acts as your information on who signed up, with what email and when, also who signed up but didn't validate...
Fill ya boots :D