First, let's define what is an Angular Module:
ðð§ ðð§ð ðŪðĨððŦ ðĶðĻððŪðĨð ð ðŦðĻðŪðĐðŽ ððĒððððŦðð§ð ðĐðŦðĻðĢððððŽ ðĒðððĶðŽ ðĨðĒðĪð ððĻðĶðĐðĻð§ðð§ððŽ, ððĒðŦððððĒðŊððŽ, ðŽððŦðŊðĒðððŽ, ðĐðĒðĐððŽ ððĻ ððŪðĨðĨððĒðĨðĨ ð ðŽðĐðððĒððĒð ðĐðŦðĻðĢððð ðððððŪðŦð.
Technically, a module is a class bound to a decorator @NgModule, allowing to describe how the app items box ðĶ between themselves.
Below the code of a module class:
In "ððððððĄð ": we put all the modules required by this module.
In "ððĨððððĄð ", we expose the items of this module so that other modules can import them.
In "ððððððððĄðððð ", we list all the elements of the module, you need to declare your items so that Angular recognizes it.
In "ððððĢððððð ", we put the service to inject for that module.
In "ððððĄð ðĄððð", we put the component that is first loaded by the app; this property is only used for the "ððððĄ" module "ðīððððððĒðð.ðĄð "