Skip to content
AgileLogics
4 min read

Architecture for Large TypeScript Projects

As a TypeScript codebase grows, a shared types/ (or per-domain *.types.ts) convention keeps interfaces reusable and consistent across layers:

src/
    types/       # shared interfaces (User, Product, ...)
    routes/
    services/
    repositories/

Keeping domain types in one place (rather than redefining a User shape separately in three different files) avoids subtly-diverging duplicate types over time.