A helpful script to generate typical Craft CMS plugin boilerplate, this creates, the main plugin file, one controller, and the assets file.
To get started run;
composer global require johnmackenzie91/craft-plugin-generator
The Latest Release is 1.1.3
Then navigate to your craft site root ( directory with craft, public ) and run craftPluginGenerator plugin-name-words-seperated-by-dashes.
Then follow the steps to add the functionality you desire to the plugin.