Skip to content

Use Cases

Use cases orchestrate domain entities, repositories, and services while keeping controllers thin.

  • User: register/login/google login.
  • Wallet: CRUD + membership changes.
  • Category: CRUD.
  • Transaction: CRUD + OCR + voice command.
  • Budget: CRUD + sharing + invite response.
  • Dashboard: analytics aggregation services.

TransactionCreatorPort points to AddTransactionImpl, so AI flows create transactions through the same guarded path as manual API creation.

container
.bind<TransactionCreatorPort>(TYPES.TransactionCreatorPort)
.toService(TYPES.AddTransactionImpl);

Source: backend/src/Containers/inversify.config.ts.