Next.js & Prisma Postgres Auth Starter

R
Renaudil y a 2 jours
0

Description

Get started with Next.js, Prisma Postgres, and Auth.js

npx boilerapp prisma-postgres

文档

Next.js & Prisma Postgres Auth Starter

This repository provides a boilerplate to quickly set up a Next.js demo application with authentication using NextAuth.js v4, Prisma Postgres and Prisma ORM, and deploy it to Vercel. It includes an easy setup process and example routes that demonstrate basic CRUD operations against the database.

Features

  • Next.js 15 app with App Router, Server Actions & API Routes
  • Data modeling, database migrations, seeding & querying
  • Log in and sign up authentication flows
  • CRUD operations to create, view and delete blog posts
  • Pagination, filtering & relations queries

Getting started

1. Install dependencies

After cloning the repo and navigating into it, install dependencies:

npm install

1. Create a Prisma Postgres instance

Create a Prisma Postgres instance by running the following command:

npx prisma init --db

This command is interactive and will prompt you to:

  1. Log in to the Prisma Console
  2. Select a region for your Prisma Postgres instance
  3. Give a name to your Prisma project

Once the command has terminated, copy the Database URL from the terminal output. You'll need it in the next step when you configure your .env file.

<!-- Create a Prisma Postgres database instance using [Prisma Data Platform](https://console.prisma.io): 1. Navigate to [Prisma Data Platform](https://console.prisma.io). 2. Click **New project** to create a new project. 3. Enter a name for your project in the **Name** field. 4. Inside the **Prisma Postgres** section, click **Get started**. 5. Choose a region close to your location from the **Region** dropdown. 6. Click **Create project** to set up your database. This redirects you to the database setup page. 7. In the **Set up database access** section, copy the `DATABASE_URL`. You will use this in the next steps. -->

2. Set up your .env file

You now need to configure your database connection via an environment variable.

First, create an .env file:

touch .env

Then update the .env file by replacing the existing DATABASE_URL value with the one you previously copied. It will look similar to this:

DATABASE_URL="prisma+postgres://accelerate.prisma-data.net/?api_key=PRISMA_POSTGRES_API_KEY"

To ensure your authentication works properly, you'll also need to set env vars for NextAuth.js:

AUTH_SECRET="RANDOM_32_CHARACTER_STRING"

You can generate a random 32 character string for the AUTH_SECRET secret with this command:

npx auth secret

In the end, your entire .env file should look similar to this (but using your own values for the env vars):

DATABASE_URL="prisma+postgres://accelerate.prisma-data.net/?api_key=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcGlfa2V5IjoiMWEzMjBiYTEtYjg2Yy00ZTA5LThmZTktZDBhODA3YjQwZjBkIiwidGVuYW50X2lkIjoiY2RhYmM3ZTU1NzdmMmIxMmM0ZTI1Y2IwNWJhZmZhZmU4NjAxNzkxZThlMzhlYjI1NDgwNmIzZjI5NmU1NTkzNiIsImludGVybmFsX3NlY3JldCI6ImI3YmQzMjFhLTY2ODQtNGRiMC05ZWRiLWIyMGE2ZTQ0ZDMwMSJ9.JgKXQBatjjh7GIG3_fRHDnia6bDv8BdwvaX5F-XdBfw"

AUTH_SECRET="gTwLSXFeNWFRpUTmxlRniOfegXYw445pd0k6JqXd7Ag="

3. Migrate the database

Run the following commands to set up your database and Prisma schema:

npx prisma migrate dev --name init
<!-- <details> <summary>Expand for <code>yarn</code>, <code>pnpm</code> or <code>bun</code></summary> ```bash # Using yarn yarn prisma migrate dev --name init # Using pnpm pnpm prisma migrate dev --name init # Using bun bun prisma migrate dev --name init ``` </details> -->

4. Seed the database

Add initial data to your database:

npx prisma db seed
<details> <summary>Expand for <code>yarn</code>, <code>pnpm</code> or <code>bun</code></summary>
# Using yarn
yarn prisma db seed

# Using pnpm
pnpm prisma db seed

# Using bun
bun prisma db seed
</details>

5. Run the app

Start the development server:

npm run dev
<details> <summary>Expand for <code>yarn</code>, <code>pnpm</code> or <code>bun</code></summary>
# Using yarn
yarn dev

# Using pnpm
pnpm run dev

# Using bun
bun run dev
</details>

Once the server is running, visit http://localhost:3000 to start using the app.

Next steps

Prix

Gratuit

FREE

评论 (0)

常见问题

常见问题解答 (FAQ)

有问题?我们有答案。如果您找不到想要的答案,请随时联系我们。

Boilerapp 是一个专门用于分享 Boilerplates、入门套件(Starter Kits)和项目模版的开发者社区平台。我们的目标很简单:为您节省初始配置(Setup)的时间,让您可以专注于真正重要的代码。无论您是在寻找简单的代码库还是完整的 SaaS 项目,都能在这里找到。

还有其他问题?

我们的团队随时为您提供帮助。联系我们,我们将尽快回复。