How to automatically create a user account when someone donates?
Yes, this is possible by using a profile - see the 'Advanced Settings' of the profile used in the contribution page and you'll see (towards the bottom) the settings re creating a drupal account.  When they have set a password and logged in to Civi the dashboard is the default.