Files
RayLab-Core/src/modules
2026-08-02 17:44:50 +07:00
..
2026-08-02 17:44:50 +07:00
2026-08-02 17:44:50 +07:00
2026-08-02 17:44:50 +07:00
2026-08-02 17:44:50 +07:00
2026-07-30 09:41:42 +07:00
2026-07-30 09:41:42 +07:00
2026-08-02 17:44:50 +07:00
2026-08-02 17:44:50 +07:00
2026-07-30 09:41:42 +07:00
2026-07-30 09:41:42 +07:00
2026-07-30 09:41:42 +07:00
2026-07-30 09:41:42 +07:00

modules/

Penjelasan singkat: Folder modules berisi domain modules. Setiap module merepresentasikan satu domain bisnis dan mengikuti prinsip Clean Architecture dengan folder:

  • presentation/ # controllers, dto, response
  • application/ # use-cases, commands, queries
  • domain/ # entities, value objects, repository interfaces, domain services, events
  • infrastructure/ # prisma repositories, adapter implementations

Contoh module: identity

  • src/modules/identity/presentation/controllers/users.controller.ts
  • src/modules/identity/application/services/get-user.service.ts
  • src/modules/identity/domain/entities/user.entity.ts
  • src/modules/identity/infrastructure/repositories/user.repository.ts

Panduan singkat:

  • Controller tipis: lakukan validasi dan panggil application service.
  • Business logic harus berada di application/domain.
  • Infrastruktur mengimplementasikan interface domain (dependency inversion).
  • Gunakan event untuk komunikasi lintas module bila memungkinkan.