# GraphQL Modules > A toolset of libraries and guidelines for building reusable, maintainable, testable and extendable modules out of a GraphQL server, with dependency injection and a modular schema. ## Documentation - [Introduction](https://the-guild.dev/graphql/modules/docs.md) - [Get Started](https://the-guild.dev/graphql/modules/docs/get-started.md) - [Type Definitions (SDL)](https://the-guild.dev/graphql/modules/docs/essentials/type-definitions.md) - [Resolvers](https://the-guild.dev/graphql/modules/docs/essentials/resolvers.md) - [Context](https://the-guild.dev/graphql/modules/docs/essentials/context.md) - [Type Safety](https://the-guild.dev/graphql/modules/docs/essentials/type-safety.md) - [Testing](https://the-guild.dev/graphql/modules/docs/essentials/testing.md) - [Introduction](https://the-guild.dev/graphql/modules/docs/di/introduction.md) - [Providers and Tokens](https://the-guild.dev/graphql/modules/docs/di/providers.md) - [Scopes](https://the-guild.dev/graphql/modules/docs/di/scopes.md) - [Subscriptions](https://the-guild.dev/graphql/modules/docs/advanced/subscriptions.md) - [Middlewares](https://the-guild.dev/graphql/modules/docs/advanced/middlewares.md) - [Execution Context](https://the-guild.dev/graphql/modules/docs/advanced/execution-context.md) - [Lifecycles](https://the-guild.dev/graphql/modules/docs/advanced/lifecycles.md) - [Solve N+1 Using DataLoader](https://the-guild.dev/graphql/modules/docs/recipes/dataloader.md) - [Migration from v0.X](https://the-guild.dev/graphql/modules/docs/recipes/migration.md) - [API Reference](https://the-guild.dev/graphql/modules/docs/api.md) ## Changelog