projects/

Compositor

An application framework written in TypeScript with manual IoC implementation.

The problem

NestJS and Spring Boot make building structured applications feel easy — until you want to know what’s actually happening. I built an application framework in TypeScript with a manual IoC container, an adapter layer that decouples the framework core from any specific transport, and a trie-based router for efficient path matching. The goal was to understand how complex application frameworks work.

Technical highlights

  • I went with the adapter pattern for decoupling. The application core has no knowledge of HTTP. server-express is one of the possible adapters.
  • Manual IoC container implementation. Uses TypeScript decorators and runtime reflection to register components in the container.
  • Uses a trie-based router for requests. This helps match paths like /users/:id/posts efficiently.

Links