aurorascharff / next14-message-box

An interactive, progressively enhanced message box using Next.js 14 with Server Actions, Tailwind CSS and Prisma. See "optimistic" and "optimistic-retry" branches for optimistic updates.
23 stars 7 forks source link
app-router nextjs prisma progressive-enhancement react19 rsc server-actions tailwind

Next.js 14 Message Box

This is a Next.js project bootstrapped with create-next-app.

It displays a messaging box using Next.js 14 with Server Actions, Tailwind CSS, and Prisma, and is progressively enhanced with React 19 features.

A deployed, slightly altered version of the optimistic message box can be found here.

This project uses next/font to automatically optimize and load Inter, a custom Google Font.

Getting Started

First, force install the dependencies to make the React 19 Beta work:

npm install --force

Then, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev

Open http://localhost:3000 with your browser to see the result.

Prisma Setup

You need decide between prisma local development with sqlite or a real database with for example sqlserver. Define it in the schema.prisma file.

Consider adding a .env file to the root of the project and using these inside schema.prisma with env("DATABASE_URL"), refer to .env.sample.

After switching, delete the prisma/migrations folder before running the migration command.

When using sqlserver, you need to migrate the database schema with:

npm run prisma.migrate

When using sqllite, initialize with:

npm run prisma.push

Seed prisma/seed.ts for initial data:

npm run prisma.seed

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.