Inside the core-apis
folder, we have the src where the main app code will reside.
<aside>
⚡ We will call the following folders - controllers
, services
, repositories
, common
- project folders for the sake of the rest of this doc.
</aside>
<aside>
⚡ Use kebab-case
for all package, folder, and file names. Each filename follows the naming standard - name.type.ts
. Eg: user.model.ts
, user.service.ts
, user.controller.ts
. Note, the type might not be possible in all cases like setup.ts
</aside>
The bootstrapper
files have code that gets executed on application startup. They generally have code around configuration and scaffolding. There is one file at the root level and then each project folder level has its own bootstrapper for project folder-level configuration.
Each bootstrapper
file exposes a public method called initialize
. On application startup, after all the code related to Express startup is executed, we call the initialize method of the root bootstrapper
file which does root-level configuration, and then calls the initialize method of the bootstrapper
file in each project folder.
PAYLOADS
Payloads are classes (just public properties and no methods) for transferring data between the APIs and Clients. DTOs will reside in the shared folder of the monorepo and will be shared between the CoreAPIs project and client projects.