What approach to take for CMS and how to do it?

Hi, Im new to using drupal 7 and to the community. thank you for having me.

Im trying to design a content management system based on product heirarchy. the purpose of the system is to enable users to create a product tree, in order to create entries for ‘product issues’.

First each product I am planning on using in my study, i wish to incorporate it as a top level product > within each top level product is a sub-level item (several of this sub-level item makes up the top level product) > within each sub-level item is a part (several parts can make up each sub-level item.

So my first step after getting drupal up and running with some extended modules i am also interested in, was to design each content type for a product and populated the data. so far i have three content types (top level, sub level item, and part) which i wish to represent as a single view of a product.

My next task is to design types of issues logged for each product. for example, mechanical issue, electronic issue, supply issue etc. which i plan to create also content types for each of the above.

now that i have the content types, and some entries populated for a single product example (i.e. top level content: some vehicle information, sub-level item content: the information of the engine in that vehicle, and part content: some information about the parts that make up this engine).

I wish to allow users to log an issue and have the ability to link it to either top level product (ie related to vehicle) or to sub level item (when related to engine issue) or to part (when related to a component i.e. within the engine) and assign a type of issue (such as mech, elec, or supply) as well as top level product type (or sub level item types, or part types).

The outcome of this process – is to be able to view all issues related to a top level product (or sub-level item, or part) and be able to represent this in the view of the top level. for example when a vehicle is reviewed – you can see the issues logged for the top level are (72 issues for example) and (32 issues on all the sub level items within this viehicle) and (20 issues logged on different parts within this vehicle).

I would also want the capability to group issues for example (all supplier issues on all products (when more than one product) or all mechanical issues (or specific mechanical issues) on all engine parts (if more than one engine/product or part).

I’m not sure how I can achieve this – most importantly what will require views?, what will require taxonomy? and how to create the (linking) fields for each type of product/sub-level/part to the fields within the issue type?

I have watched tutorials (several of them) on creating websites (inc pages, and different content types and blocks etc) but i cannot see how to apply those concepts to a system such as what is proposed above. Look forward to a response.

Drupal version: 

Source: https://www.drupal.org/taxonomy/term/22/feed