Project Requirements and Architecture

Build a task-management GraphQL API where users can create accounts, authenticate, manage projects, create tasks, assign tasks to members, filter and paginate tasks, and receive appropriate authorization errors.

The project should use a layered architecture consisting of GraphQL schema and resolvers, application services, data-access modules, authentication, authorization, DataLoader, and MongoDB.

The goal is not simply to create CRUD endpoints but to demonstrate how GraphQL concepts fit together in a realistic backend.