This example showcases a TypeScript Next.js 13 website with App Router (app) β using DatoCMS as the data source.
It uses GraphQL CodeGen to type all of the requests comming from Dato automatically: See how it works here
Have a look at the end result live:
Make sure that you have set up the Github integration on Vercel.
Let DatoCMS set everything up for you clicking this button below:
Once the setup of the project and repo is done, clone the repo locally.
In your DatoCMS' project, go to the Settings menu at the top and click API tokens.
Then click Read-only API token and copy the token.
Next, copy the .env.example
file in this directory to .env
(which will be ignored by Git):
cp .env.local.sample .env.local
and set the DATOCMS_READONLY_API_TOKEN
variable as the API token you just copied.
Also then set a secret token that is being used for WebPreviews, SEO Previews and Cache invalidation:
URL=http://localhost:3000SEO_SECRET_TOKEN=superSecretTokenDRAFT_SECRET_TOKEN=superSecretTokenCACHE_INVALIDATION_SECRET_TOKEN=superSecretToken
npm installnpm run dev
Your eCommerce shop should be up and running on http://localhost:3000!
It's strongly suggested to install the GraphQL: Language Feature Support extension, to get autocomplete suggestions, validation against schema, and many more niceties when working with your GraphQL queries.
DatoCMS is the REST & GraphQL Headless CMS for the modern web.
Trusted by over 25,000 enterprise businesses, agency partners, and individuals across the world, DatoCMS users create online content at scale from a central hub and distribute it via API. We β€οΈ our developers, content editors and marketers!
Quick links:
Our featured repos: - datocms/react-datocms: React helper components for images, Structured Text rendering, and more - datocms/js-rest-api-clients: Node and browser JavaScript clients for updating and administering your content. For frontend fetches, we recommend using our GraphQL Content Delivery API instead. - datocms/cli: Command-line interface that includes our Contentful importer and Wordpress importer - datocms/plugins: Example plugins we've made that extend the editor/admin dashboard - datocms/gatsby-source-datocms: Our Gatsby source plugin to pull data from DatoCMS - Frontend examples in different frameworks: Next.js, Vue and Nuxt, Svelte and SvelteKit, Astro, Remix. See all our starter templates.
Or see all our public repos
βββββο»Ώβο»Ώββββββο»Ώο»Ώβο»Ώβββββββββο»Ώββββββο»Ώββββββο»Ώβββββββββββββββο»Ώββββο»Ώο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββο»Ώββββο»Ώββο»Ώο»Ώββο»Ώβββββββο»Ώββββββββββο»Ώβββββββββββββββο»Ώβββββββββββο»Ώβββο»Ώβββο»Ώβββο»Ώβο»Ώβο»Ώββββο»Ώο»Ώββο»Ώο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββο»Ώββββββββββο»Ώββββο»Ώο»Ώβββο»Ώββο»Ώββο»Ώβο»Ώββο»Ώββββο»Ώββο»Ώο»Ώββο»Ώβββο»Ώο»Ώβββββββββββββο»Ώββββο»Ώο»Ώβο»Ώββββο»Ώο»Ώβββββο»Ώββββββββο»Ώβββο»Ώο»Ώβο»Ώβββο»Ώβββο»Ώβββββββο»Ώβο»Ώββο»Ώο»Ώβο»Ώβββο»Ώβββο»Ώβββο»Ώβββο»Ώβββο»Ώββββο»Ώο»Ώβββββο»Ώββββββββο»Ώββο»Ώβο»Ώββο»Ώο»Ώβββββββο»Ώβββββο»Ώβββο»Ώβββο»Ώβββββββο»Ώβββββββββββο»Ώβββββο»Ώβο»Ώβββββο»Ώββββββο»Ώββο»Ώβββββββο»Ώβββββββο»Ώβββββββββββο»Ώο»Ώβ