Skip to Page NavigationSkip to Page NavigationSkip to Content

Examples

A growing collection of projects you can run locally to learn more about Keystone’s capabilities. Each example includes documentation explaining the how and why. Use them as a reference for best practice, and a jumping off point when adding features to your own Keystone project.

All example projects live in theKeystone GitHub repo

Standalone Examples

Standalone examples demonstrate how a particular feature works or how to solve a problem with Keystone.

Authentication →

Adds password-based authentication to the Task Manager starter project.

Blog →

A basic Blog schema with Posts and Authors. Use this as a starting place for learning how to use Keystone. It’s also a starter for other feature projects.

Custom Admin UI Logo →

Adds a custom logo component in the Admin UI.

Custom Admin UI Navigation →

Adds a custom Navigation component to the Admin UI.

Custom Admin UI Pages →

Adds a custom page in the Admin UI.

Custom Field Type →

Adds a custom field type based on the integer field type which lets users rate items on a 5-star scale.

Custom Field View →

Adds a custom Admin UI view to a json field which provides a customised editing experience for users.

Default Values →

Demonstrates how to use default values for fields. Builds upon the Task Manager starter project.

Document field →

Illustrates how to configure document fields in your Keystone system and render their data in a frontend application.

REST API endpoint →

Demonstrates how to create REST endpoints by extending Keystone's express app and using the Query API to execute queries against the schema.

Extend GraphQL API with Nexus →

Shows you how to use Nexus to extend the GraphQL API provided by Keystone with custom queries and mutations.

Extend GraphQL Schema with GraphQL TS →

Demonstrates how to extend the GraphQL API provided by Keystone with custom queries and mutations using graphql-ts.

Singleton →

Demonstrates how to use singleton lists with Keystone.

Task Manager →

A basic Task Management app, with Tasks and People who can be assigned to tasks. Great for learning how to use Keystone. It’s also a starter for other feature projects.

Testing →

Shows you how to write tests against the GraphQL API to your Keystone system.

Virtual fields →

Implements virtual fields in a Keystone list.

End-to-End Examples

End to end examples demonstrate how a feature works or how to solve a problem with an independent frontend application and a Keystone server.

Deployment Examples

Examples with all the code and documentation you need to get a Keystone project hosted on the web. You can find them in the Keystone Github Organisation.