I would like my users to be able to register as different types. For example to register as a supplier or a retailer. When selecting the type to be registered as, my registration form should dynamically change to display different fields, i.e. I want to collect different information from different user types to store in my database. Alternatively I could have different registration forms for each user type. I know that I can customise my registration form, but am I able to require different fields from different user types or even to define different user types at all?
I have also looked at the DNN security roles. I could create a 'supplier' and 'retailer' role, but I don't think this is really what I want? It is not ideal to manually assign each new user to the appropriate role and I don't want to set page edit permissions to either user type, but I do want different users to be able to accomplish different tasks. For example, perhaps a retailer should be able to view a list of suppliers or perhaps a supplier can upload a file which a retailer can purchase.
I am new to DNN but after looking at the database structure and the way profiles and users are managed I am starting to think that my specifications might be difficult to implement. What I have in mind is a very database driven web system where users interact and provide most of the content. I am competent with databases and programming so could build this myself the long long way but I want to know how appropriate DNN is for this sort of thing? Should I be going down the module development path or can I largely achieve this sort of thing through existing modules?
Any advice at all on how appropriate DNN is for database driven, user provided content websites or for handling different user types would be greatly appreciated.