https://embed.notionlytics.com/wt/ZXlKd1lXZGxTV1FpT2lJeE16WmlNREpsWVdOaU16WTBaakV4T1dOaU5tSTBOekUyTlRrMU5UZzVOU0lzSW5kdmNtdHpjR0ZqWlZSeVlXTnJaWEpKWkNJNklrbGpiM1pzV2pOcU1VUnBRM1ZUUm1WNFRtdHlJbjA9

Every project is a code (one line, two, one hundred, and so on). It is easy to get confused in a project with no code structure. But there is a solution – modules.

What is a module?

A module is a part of the code that is responsible for certain functionality.

Modules help us or our team write code with small parts that can be connected or can be used by another small part of the code. This approach is such a good thing to get a consistent, clear, and debuggable structure for the project.

Questions to answer

How should a module be named?

The name of the module must consist of two parts: vendor name and module name:

Where should a module be located?

When developing a module we should put its source according to the conventional folder structure:

/app/code/<VENDOR_NAME>/<MODULE_NAME>/