Dynamic content-type creation I have this scenario in my application:

Every registered member, can manage up to 3 content-types. And manage nodes based on their own content-types. They can manage their own content-types and nodes.

edit: the number of registered members might reach more than 1000

How can I approach this? 

opening administer content-types permission for authenticated-users is definitely not an option. Also there could be a lot of confusions regarding dynamic permission, custom roles, etc...

Is creating content-type of node-content-types possible?

Are there any contributed modules or distribution for this specific features?

Thanks

edit02: Some explanations, I hope it's clear..


user can manage his content-types by: creating new content type, edit/delete existing ones. he also can manage his nodes too.
also, different user, cannot see other's content-types, but can see other's published nodes
All content types (and it's fields) shouldn't be overlapped. maybe the user's name is included in the content-type machine name generator (and field's) to avoid duplicates
I'm not sure about the idea "creating content-type of node-content-type"
this could be done, but I think it's too broad for the Q&amp;A approach of Drupal Answers. In general, if I was to try this, I would start with this:


add an integer field to the user (to track number of content types)
using Field Permissions, hide that field from anyone but admin



  The Field Permissions module allows site administrators to set
  field-level permissions to edit, view and create fields on any entity.



create a role with the appropriate permissions to add content types
if permission allows viewing the content type list, use Rules to check that url against role to ensure new 'content type moderators' cannot access the list and redirect with a message



  The Rules module allows site administrators to define conditionally
  executed actions based on occurring events (known as reactive or ECA
  rules). It's a replacement with more features for the trigger module
  in core and the successor of the Drupal 5 workflow-ng module.



override the hook_form_alter() to check the integer value of the hidden field on content type creation, redirect or show message if user is at limit
override the form submit() function to increment the integer value of the hidden field on content type creation, and create perhaps a custom block, menu entry or other element to allow the user access to edit the content type later on