Basic EdgeDB + Next.js starter. It includes all the required EdgeDB setup and instructions to get started with building an app with EdgeDB.
This starter is designed to help you get up and running with EdgeDB and Next.js quickly. It includes a basic EdgeDB schema and a UI to get you started. Below you can find the steps to set up the project and start building your app as well as some ideas for extending it further.
This template includes:
.├── README.md├── app│ ├── favicon.ico│ ├── globals.css│ ├── layout.tsx│ └── page.tsx├── components/├── src/├── public/├── dbschema│ ├── default.esdl├── edgedb.toml├── eslint.config.js├── next-env.d.ts├── next.config.js├── package.json├── pnpm-lock.yaml├── postcss.config.js├── tailwind.config.ts└── tsconfig.json
Directory structure:
app/
- Next.js pages and componentspublic/
- static assetscomponents/
- React componentssrc/
- utility functionsdbschema/
- EdgeDB schema and migrationsedgedb.toml
- EdgeDB configurationedgedb.ts
- EdgeDB clienteslint.config.js
- ESLint configurationnext-env.d.ts
- Next.js typesnext.config.js
- Next.js configurationpackage.json
- npm dependenciespnpm-lock.yaml
- pnpm lockfilepostcss.config.js
- PostCSS configurationtailwind.config.ts
- Tailwind CSS configurationtsconfig.json
- TypeScript configurationTo get started with this template, you need to:
git clone https://github.com/edgedb/nextjs-edgedb-basic-template.gitcd nextjs-edgedb-basic-templatepnpm i
You can also click the "Use this template" button to create a new repository based on this template.
You can just use npx edgedb
, it would do the right thing
to automatically install and run EdgeDB CLI for you.
This README will use npx edgedb <command>
style, but if you have
the CLI installed you can use it directly, like this: edgedb <command>
.
curl --proto '=https' --tlsv1.2 -sSf https://sh.edgedb.com | sh
For more installation options, see the EdgeDB installation guide.
To run this project, you need to initialize a new EdgeDB project. Run the following command:
npx edgedb project init
This template includes a script to generate TypeScript types from the EdgeDB schema. Run the following command:
pnpm generate:all
pnpm dev
Follow the instructions in the terminal to open the app in your browser.
To view the database in the EdgeDB UI run:
npx edgedb ui
Open the dbschema/default.esdl
file and add your own types and
fields. You can start by adding a Post
type with a
title
and content
field. For example:
type Post {# Add your new fields here:required title: str;required content: str;}
Open the app/page.tsx
file and update the query
to include your new type.
const postsQuery = e.select(e.Post, (_post) => ({id: true,title: true,content: true,// Add your other fields here}))
Explore a list of resources to help you get started with EdgeDB and Next.js:
To learn more about Next.js, take a look at the following resources:
You can also check out the EdgeDB documentation to learn more about EdgeDB and EdgeDB Auth.
Follow the deployment instructions in the EdgeDB documentation to deploy your Next.js app to EdgeDB Cloud and Vercel.
Or
Basic EdgeDB + Next.js starter. It includes all the required EdgeDB setup and instructions to get started with building an app with EdgeDB.
This starter is designed to help you get up and running with EdgeDB and Next.js quickly. It includes a basic EdgeDB schema and a UI to get you started. Below you can find the steps to set up the project and start building your app as well as some ideas for extending it further.
This template includes:
.├── README.md├── app│ ├── favicon.ico│ ├── globals.css│ ├── layout.tsx│ └── page.tsx├── components/├── src/├── public/├── dbschema│ ├── default.esdl├── edgedb.toml├── eslint.config.js├── next-env.d.ts├── next.config.js├── package.json├── pnpm-lock.yaml├── postcss.config.js├── tailwind.config.ts└── tsconfig.json
Directory structure:
app/
- Next.js pages and componentspublic/
- static assetscomponents/
- React componentssrc/
- utility functionsdbschema/
- EdgeDB schema and migrationsedgedb.toml
- EdgeDB configurationedgedb.ts
- EdgeDB clienteslint.config.js
- ESLint configurationnext-env.d.ts
- Next.js typesnext.config.js
- Next.js configurationpackage.json
- npm dependenciespnpm-lock.yaml
- pnpm lockfilepostcss.config.js
- PostCSS configurationtailwind.config.ts
- Tailwind CSS configurationtsconfig.json
- TypeScript configurationTo get started with this template, you need to:
git clone https://github.com/edgedb/nextjs-edgedb-basic-template.gitcd nextjs-edgedb-basic-templatepnpm i
You can also click the "Use this template" button to create a new repository based on this template.
You can just use npx edgedb
, it would do the right thing
to automatically install and run EdgeDB CLI for you.
This README will use npx edgedb <command>
style, but if you have
the CLI installed you can use it directly, like this: edgedb <command>
.
curl --proto '=https' --tlsv1.2 -sSf https://sh.edgedb.com | sh
For more installation options, see the EdgeDB installation guide.
To run this project, you need to initialize a new EdgeDB project. Run the following command:
npx edgedb project init
This template includes a script to generate TypeScript types from the EdgeDB schema. Run the following command:
pnpm generate:all
pnpm dev
Follow the instructions in the terminal to open the app in your browser.
To view the database in the EdgeDB UI run:
npx edgedb ui
Open the dbschema/default.esdl
file and add your own types and
fields. You can start by adding a Post
type with a
title
and content
field. For example:
type Post {# Add your new fields here:required title: str;required content: str;}
Open the app/page.tsx
file and update the query
to include your new type.
const postsQuery = e.select(e.Post, (_post) => ({id: true,title: true,content: true,// Add your other fields here}))
Explore a list of resources to help you get started with EdgeDB and Next.js:
To learn more about Next.js, take a look at the following resources:
You can also check out the EdgeDB documentation to learn more about EdgeDB and EdgeDB Auth.
Follow the deployment instructions in the EdgeDB documentation to deploy your Next.js app to EdgeDB Cloud and Vercel.
Or