◈ GraphQL
← Back to Portfolio
◈
GraphQL
GraphQL — Complete Query Lifecycle
CLIENT & TRANSPORT
Apollo Client
React / Vue / Mobile
Cache · Fragments
Relay / URQL
Pagination · Batching
GraphQL over HTTP
Queries · Mutations · Subscriptions
SERVER & SCHEMA
Schema Definition
typeDefs · gql`` tag
SDL · Code First
Apollo Server
Express / Hapi / Fastify
Hot Chocolate (.NET)
Type System: Object · Scalar · Enum · Interface · Union · Input
Non-Null (!) · List [] · Custom Scalars
RESOLVERS & DATALOADER
Root Resolver
Query.users · Mutation.createUser
Nested Resolver
User.posts · Post.author
DataLoader (Batching + Caching · Solves N+1)
DATA SOURCES
SQL Database
PostgreSQL · MySQL
Prisma · TypeORM
MongoDB
Mongoose / Driver
MongoDB Atlas
REST APIs
RESTDataSource · fetch
External services
Cache
Redis · In-Memory
Response caching
SUBSCRIPTIONS
WebSocket
graphql-ws · Apollo WS
Event Driven
Kafka · Redis · NATS
SECURITY & BEST PRACTICES
Depth Limiting
Prevent deep nesting
Complexity Analysis
Cost per field
Rate Limiting
Per user / IP / API key
Persisted Queries
Allowlist approach
TOOLS & ECOSYSTEM
GraphiQL IDE
Interactive explorer
Apollo Studio
Schema registry · Metrics
Code Generation
GraphQL Codegen
Federation
Apollo Federation · Schema stitching
Testing
Integration · Contract
Auth
JWT · OAuth · RBAC
INTEGRATION PATTERNS
GraphQL Gateway → Microservices → Databases
BFF (Backend for Frontend)
Schema Stitching · Apollo Federation
GraphQL + Kafka + SignalR Events