[Backend] Improvement for free trial sign-up experience for GitLab.com

Required for https://gitlab.com/gitlab-org/gitlab-ee/issues/13233

TODO for GitLab EE:

  • Change Full name field to First name and Last name fields (needs confirmation) (@asubramanian1)
  • Automatically generate an available username (@asubramanian1)
    • We can generate a username on the frontend, but it needs to be checked on the backend for uniqueness, I think it's better to get one from the backend.
  • Add custom endpoint for new registrations (@rdavila)
    • Skip email confirmation step.
    • Create Leads on Marketo or SFDC
  • Add New Group option to This subscription is for field (Marking this complete in favor of https://gitlab.com/gitlab-org/gitlab-ee/issues/13233#note_202915056)
    • We will need an endpoint for creating a new group, the endpoint might be already defined and used in a previous context, this needs confirmation whether such endpoint exists or not.
  • Send leads to Marketo if the User selects checkbox I'd like to receive updates via email about GitLab. in Step 1
  • Add ability to authenticate via API in customers app (@asubramanian1)
  • Redirect user to lead capture form, if user is already logged into GL.com
  • API for country dropdown

TODO for subscription portal:

  • Add endpoint to receive user info along with Namespace ID and name in order to setup a trial.
Edited by Aishwarya Subramanian