CtrlK
BlogDocsLog inGet started
Tessl Logo

jbvc/api-patterns

API design principles and decision-making. REST vs GraphQL vs tRPC selection, response formats, versioning, pagination.

67

Quality

67%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

api-style.md

API Style Selection (2025)

REST vs GraphQL vs tRPC - Hangi durumda hangisi?

Decision Tree

Who are the API consumers?
│
├── Public API / Multiple platforms
│   └── REST + OpenAPI (widest compatibility)
│
├── Complex data needs / Multiple frontends
│   └── GraphQL (flexible queries)
│
├── TypeScript frontend + backend (monorepo)
│   └── tRPC (end-to-end type safety)
│
├── Real-time / Event-driven
│   └── WebSocket + AsyncAPI
│
└── Internal microservices
    └── gRPC (performance) or REST (simplicity)

Comparison

FactorRESTGraphQLtRPC
Best forPublic APIsComplex appsTS monorepos
Learning curveLowMediumLow (if TS)
Over/under fetchingCommonSolvedSolved
Type safetyManual (OpenAPI)Schema-basedAutomatic
CachingHTTP nativeComplexClient-based

Selection Questions

  1. Who are the API consumers?
  2. Is the frontend TypeScript?
  3. How complex are the data relationships?
  4. Is caching critical?
  5. Public or internal API?

api-style.md

auth.md

documentation.md

graphql.md

rate-limiting.md

response.md

rest.md

security-testing.md

SKILL.md

tile.json

trpc.md

versioning.md