Welcome to the EdgeDB Next.js Starter. This starter is designed to help you get up and running with EdgeDB and Next.js quickly. It includes a basic setup for authentication, EdgeDB schema, and a UI to get you started. Below are some next steps to help you get up to speed.
Finish setting up Email + Password configuration
edgedb ui
command or through the EdgeDB Cloud Console and navigate to the Auth tab. Go to the "SMTP" section and add your SMTP credentials. We recommend using a service like Mailtrap for testing, and a service like Resend for production.Sign up to the platform
Extend the EdgeDB schema
schema.esdl
file and add your own types and fields. You can start by adding a Post
type with a title
and content
field or changing the Item
type to include more fields. For example:type Item { # ... # Add your new fields here: required title: str; required content: str; }
Edit the EdgeDB query
app/dashboard/page.tsx
file and update the query to include your new fields. You can add a new field to the query or change the existing fields to include your new data.const itemsQuery = e.select(e.Item, (_item) => ({ id: true, name: true, created: true, updated: true, created_by: { name: true, }, // Add your new fields here }))
Add more Auth providers
edgedb ui
command and navigate to the Auth tab. Go to the "Providers" section and add a new Auth provider by clicking the "Add Provider" button and following the instructions.Test the reset password flow
Extend the "New Item" form
components/AddItem.tsx
file and update the form to include your new fields. You can add a new field to the form or change the existing fields to include your new data.Test access policies
Try deleting an item that you don't own. You shouldn't be able to delete it. You can test this by creating a new item and then trying to delete it with a different account. As a next step you can conditionally render the delete button based on the user's permissions.
Modify the EdgeDB Auth UI callback
app/auth.tsx
file and update the callback to include your new fields. You can add a new field to the callback or change the existing fields to include your new data.Deploy your app