Designing the GraphQL Schema

The schema should expose queries for retrieving the current user, projects, and tasks. Mutations should handle project creation, task creation, task updates, and deletion.

Use input objects for complex mutation arguments and connection-style pagination for collections. Avoid exposing database-specific implementation details directly through the API schema.