Real-time backends, the TypeScript way.
IOServer is a TypeScript framework that combines Fastify (HTTP) and Socket.IO (WebSocket) behind a clean, modular architecture. Define clear boundaries between services, controllers, managers, watchers, and middlewares — and let IOServer wire them together.
Why IOServer?
Modular by design
Five distinct component types — services, controllers, managers, watchers, and middlewares — each with a single, well-defined responsibility.
Fastify + Socket.IO
Built on the fastest Node.js HTTP framework and the most popular WebSocket library. No compromises on performance.
Strict TypeScript
Full type safety throughout. Every public API is typed, including the AppHandle that connects your components together.
Shared app handle
Managers are registered in a shared AppHandle accessible to every component — no global singletons, no dependency injection boilerplate.
Automatic WS routing
Every public method on a Service automatically becomes a Socket.IO event handler. No decorators, no registration boilerplate.
JSON-based HTTP routes
HTTP routes are declared in plain JSON files and mapped to controller methods by name. Clean separation of routing and logic.