GraphQL schema design, resolver patterns, subscriptions, DataLoader for N+1 prevention, and error handling