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
Base Projects
Simple starters to get you up and running with a local Keystone instance and understand the basics of designing a schema .
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.
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.
Feature Projects
Derived from the Base Projects, these examples demonstrate a particular feature of Keystone, and show you best practice for implementing it.
Extend GraphQL Schema →
Shows you how to extend the Keystone GraphQL API with custom queries and mutations. Builds upon the Blog starter project.
Default Values →
Demonstrates how to use default values for fields. Builds upon the Task Manager starter project.
Virtual fields →
Implements virtual fields in a Keystone list. Builds on the Blog starter project.
Document field →
Illustrates how to configure document
fields in your Keystone system and render their data in a frontend application. Builds on the Blog starter project.
Testing →
Shows you how to write tests against the GraphQL API to your Keystone system. Builds on the Authentication example project.
Authentication →
Adds password-based authentication to the Task Manager starter project.
JSON Field →
Illustrates how to use the json
field type. Builds on the Task Manager starter project.
Custom Field View →
Adds a custom Admin UI view to a json
field which provides a customised editing experience for users. Builds on the Task Manager starter project.
Custom Field Type →
Adds a custom field type based on the integer
field type which lets users rate items on a 5-star scale. Builds on the Blog starter project.
Custom Admin UI Pages →
Adds a custom page in the Admin UI. Builds on the Task Manager starter project.
Custom Admin UI Logo →
Adds a custom logo component in the Admin UI. Builds on the Task Manager starter project.
Custom Admin UI Navigation →
Adds a custom Navigation component to the Admin UI. Builds on the Task Manager starter project.
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.
Deployment Projects
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.