Configure your schema in JavaScript, and KeystoneJS will generate a powerful GraphQL API and CMS.
See how to get a "To Do" app up and running in under 4 minutes with the KeystoneJS CLI
A KeystoneJS instance acts as a function of your schema which creates a GraphQL API for querying and an Admin UI for managing your data.
// Define your `lists` and `fields`keystone.createList('Todo', {fields: {task: { type: Text },},});keystone.createList('User', {fields: {name: { type: Text },email: { type: Text },},});
# Generated GraphQL schematype Mutation {createTodo(..): TodoupdateTodo(..): TododeleteTodo(..): TodocreateUser(..): UserupdateUser(..): UserdeleteUser(..): User}type Query {allTodos(..): [Todo]Todo(..): TodoallUsers(..): [User]User(..): User}type Todo {id: IDtask: String}type User {id: IDname: Stringemail: String}
We believe it’s the ideal back-end for React, Vue or Angular applications, Gatsby and Next.js websites, static sites, mobile applications and more.
Zero assumptions doesn’t mean zero features. Keystone comes with dozens of features out of the box including Lists, Fields, Access Control, Authentication, and Apps. You can add and configure each of these, as well as extend, modify or build your own.
KeystoneJS provides an extensible admin interface and a powerful GraphQL API. These tools, and the building blocks Keystone provides, will allow you to create any type of application.
Provide your own PostgreSQL or MongoDB database for Keystone to connect to, and deploy your application anywhere. Have complete freedom of choice when hosting your data, API, and front-end and admin applications.
Our quick start guide will get you up and running in just a few minutes. Let's build a simple todo app with a fresh install of Keystone!
KeystoneJS integrates seamlessly with any front-end framework, but can also be run as a headless GraphQL API with optional Admin UI.
Serve HTML, CSS, JS, images and any other static resources using an Express static server. This can be quick and easy way to deploy a simple front-end with a KeystoneJS application.
Take the pain out of creating Universal React apps with Next.js. Next.js is Zero Setup, Fully Extensible and Ready for Production.
Nuxt is a progressive framework based on Vue.js to create modern web applications. It can be used to create from static landing pages to complex enterprise ready web applications.
The primary focus of KeystoneJS is the GraphQL API and Admin UI. Because of this KeystoneJS works with all major front-end frameworks and is headless by default.