# Developer Essentials
Get started by diving straight into one of our modules!
After completing this module, you should be able to:
- Explain the mindset required to develop with commercetools.
- Understand a documentation reference page and know where to find other useful resources.
After completing this module, you should be able to:
- Install and set up the TypeScript and Java SDK.
- Make your first API request to commercetools using one of the SDKs.
After completing this module, you should be able to:
- Demonstrate best practices related to authorization flows and API Clients.
- Understand when to use specific grant types.
After completing this module, you should be able to:
- Use the Java or TypeScript commercetools SDK to execute CRUD operations in your Project.
After completing this module, you should be able to:
- Identify how to transfer specific requirements into Query Predicates.
- Identify correct usage of compound expressions and input variables in Query Predicates.
- Identify efficient and inefficient querying patterns in digital commerce scenarios.
After completing this module, you should be able to:
- Use GraphQL to query and mutate resources in commercetools.
- Navigate the GraphQL Explorer and use a commercetools SDK to send requests.
- Use GraphQL to find Project information and perform reference expansion.
After completing this module, you should be able to:
- Explain how to import data into commercetools Projects using the Import API.
- Explain the difference between adding resources using the Import API versus the HTTP API.
- Create an Import API client using the SDK and use it for basic import operations and checking their status.
After completing this module, you should be able to:
- Create, maintain, and query resources in a commercetools project.
## Search
The docs website provides a search box that lets you find pages by keyword across the documentation.
## Navigation
- Introduction to Developer Essentials
- [Introduction to Developer Essentials](/learning-developer-essentials/introduction-to-developer-essentials/overview.md)
- [The commercetools mindset](/learning-developer-essentials/introduction-to-developer-essentials/commercetools-mindset.md)
- [Developer resources](/learning-developer-essentials/introduction-to-developer-essentials/developer-resources.md)
- Prepare your work environment
- [Prepare your work environment](/learning-developer-essentials/prepare-your-work-environment/overview.md)
- [SDK setup process](/learning-developer-essentials/prepare-your-work-environment/sdk-setup-process.md)
- [Set up the TypeScript SDK](/learning-developer-essentials/prepare-your-work-environment/set-up-the-typescript-sdk.md)
- [Set up the Java SDK](/learning-developer-essentials/prepare-your-work-environment/set-up-the-java-sdk.md)
- [Check your learning](/learning-developer-essentials/prepare-your-work-environment/learning-check.md)
- Authorization flows and API Clients
- [Authorization flows and API Clients](/learning-developer-essentials/authentication-authorization/overview.md)
- [Authentication and authorization](/learning-developer-essentials/authentication-authorization/authentication-and-authorization.md)
- [Scopes](/learning-developer-essentials/authentication-authorization/scopes.md)
- [Apply your learning](/learning-developer-essentials/authentication-authorization/learning-check.md)
- Manage resources with the SDK
- [Manage resources with the SDK](/learning-developer-essentials/manage-resources-with-the-sdk/overview.md)
- [Manage resources (CRUD)](/learning-developer-essentials/manage-resources-with-the-sdk/manage-resources-crud.md)
- [Create a Customer](/learning-developer-essentials/manage-resources-with-the-sdk/create-a-customer.md)
- [Get a Customer](/learning-developer-essentials/manage-resources-with-the-sdk/get-a-customer.md)
- [Update a Customer](/learning-developer-essentials/manage-resources-with-the-sdk/update-a-customer.md)
- [Delete a Customer](/learning-developer-essentials/manage-resources-with-the-sdk/delete-a-customer.md)
- [Best practices](/learning-developer-essentials/manage-resources-with-the-sdk/best-practices.md)
- [Learning check](/learning-developer-essentials/manage-resources-with-the-sdk/learning-check.md)
- API queries and Query Predicates
- [API queries and Query Predicates](/learning-developer-essentials/api-queries-query-predicates/overview.md)
- [Query Predicates](/learning-developer-essentials/api-queries-query-predicates/query-predicates.md)
- [Queries and the SDKs](/learning-developer-essentials/api-queries-query-predicates/queries-and-the-sdks.md)
- [Improve query performance](/learning-developer-essentials/api-queries-query-predicates/improve-query-performance.md)
- [Check your learning](/learning-developer-essentials/api-queries-query-predicates/learning-check.md)
- GraphQL
- [GraphQL](/learning-developer-essentials/graphql/overview.md)
- [Develop with GraphQL](/learning-developer-essentials/graphql/develop-with-graphql.md)
- [Use the GraphQL Explorer and the SDK](/learning-developer-essentials/graphql/use-graphiql-and-the-sdk.md)
- [Create a GraphQL query](/learning-developer-essentials/graphql/create-a-graphql-query.md)
- [Create a GraphQL mutation](/learning-developer-essentials/graphql/create-a-graphql-mutation.md)
- [Create an advanced GraphQL query](/learning-developer-essentials/graphql/create-an-advanced-graphql-query.md)
- [Apply your learning](/learning-developer-essentials/graphql/learning-check.md)
- Import API
- [Import API](/learning-developer-essentials/import-api/overview.md)
- [Data orchestration](/learning-developer-essentials/import-api/data-orchestration.md)
- [Use the Import API](/learning-developer-essentials/import-api/use-the-import-api.md)
- [Apply your learning](/learning-developer-essentials/import-api/learning-check.md)
- Developer Essentials challenge
- [Developer Essentials challenge](/learning-developer-essentials/challenge/overview.md)
- [Challenge](/learning-developer-essentials/challenge/challenge.md)