There are nine parts:
𝟏) 𝐓𝐡𝐞 𝐜𝐨𝐦𝐩𝐨𝐧𝐞𝐧𝐭𝐬: a component is TypeScript class which handles the business, and the GUI.
𝟐) 𝐓𝐡𝐞 𝐭𝐞𝐦𝐩𝐥𝐚𝐭𝐞𝐬: each component is bound to a template to manage the display.
𝟑) 𝐃𝐚𝐭𝐚-𝐛𝐢𝐧𝐝𝐢𝐧𝐠: gear which match the component data with the template.
𝟒) 𝐃𝐞𝐜𝐨𝐫𝐚𝐭𝐨𝐫𝐬: metadata to describe a class for Angular inner processing.
𝟓) 𝐌𝐨𝐝𝐮𝐥𝐞𝐬: Aggregation of components, services, directives... related to a specific business topic.
𝟔) 𝐃𝐢𝐫𝐞𝐜𝐭𝐢𝐯𝐞𝐬: class that extends the power HTML with custom features.
𝟕) 𝐑𝐨𝐮𝐭𝐢𝐧𝐠: 𝐡𝐚𝐧𝐝𝐥𝐞 the URLs so that it matches the right component.
𝟖) 𝐒𝐞𝐫𝐯𝐢𝐜𝐞𝐬: class that can be injected elsewhere bringing utility functions.
𝟗) 𝐃𝐞𝐩𝐞𝐧𝐝𝐞𝐧𝐜𝐲 𝐢𝐧𝐣𝐞𝐜𝐭𝐢𝐨𝐧: coupling of classes through components calls in the constructor of the requiring class.