Has anyone implemented similar to below scenario for the community ? How to proceed with it?

When a new user self tries to self register in the community :-

  1. An email must be sent to the admin.
  2. Once admin approves the registration , then it should create a user and contact records and send an activation email to the user.