Modules
The most basic pieces of Entropy apps are modules. Module is a simple chunk of code in a separate directory in the src/ folder. Each module should have a corresponding .module.ts file and represent single app feature part.
Creating a Module
To create a new module, you can leverage the CLI:
      
        
        
        
        terminal
       entropy make module chat
    Module Structure
Each feature module file has a similar structure:
      
        
        
        
        src/chats/chat.controller.ts
       import { Module } from '@entropy/server';
import { ChatChannel } from './chat.channel.ts';
import { ChatController } from './chat.controller.ts';
export class ChatModule implements Module {
  public readonly channels = [
    ChatChannel,
  ];
  public readonly controllers = [
    ChatController,
  ];
}
    Registering Modules
Every module should be registered in the src/main.ts file in modules section like so:
      
        
        
        
        src/main.ts
       import { createServer } from '@entropy/server';
import { RootModule } from './root.module.ts';
if (import.meta.main) {
  const server = await createServer({
    modules: [RootModule],
  });
  await server.start();
}