Next.jsReactAdmin dashboardStarter

nextjs14-supabase-dashboard — Next.js Admin dashboard Template

By w3labkr

A dashboard starter template built on Next.js 14 and Supabase, integrating Prisma, Tailwind CSS, Shadcn, and other dependencies, providing a directory skeleton for authentication, API, and state management.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

1 previews
Author preview
Author-provided preview

Preview provided in the project README.

One original preview is available. Open the full image to inspect the design.

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-03View source

What stands out

A quick read of the recorded project description.

01

Directory structure organized based on Next.js 14 App Router

02

Data and authentication layer uses Supabase, managed via Supabase CLI

03

Uses Prisma to manage database schema and migrations

04

Integrates Tailwind CSS and Shadcn for building the interface

05

Built-in Zustand state management and React Query data fetching

06

Provides auth and v1 API routes and a Server Actions directory

Template Details

This is a dashboard starter template for Next.js 14, with the data layer based on Supabase. The README describes its positioning as a dashboard starter, and the repository includes screenshots and a dependency list, released under the MIT license.

The template organizes directories according to the Next.js App Router project structure, including actions (Server Actions), app/api (auth authentication and v1 public API), components, config, context, hooks, lib, prisma, queries, schemas, store, supabase, types, and other directories, with internationalization resources divided by locales under public. The dependency list includes Next.js 14, Tailwind CSS, Shadcn, Supabase Auth and Supabase CLI, Prisma, Zustand, React Query, Jose, Nodemailer, Browserslist, dayjs, qs, cookies-next.

The usage process is: clone the repository, npm install, copy .env.example to .env, run npx prisma migrate dev --name init to generate and run SQL migrations, and npm run dev to start the development server. The docs directory contains four documents: DEPENDENCIES, GIT, PRISMA, SUPABASE. The README also specifically explains the CSRF handling for Server Actions: Server Actions only accept POST, Next.js 14 compares the Origin and Host headers and rejects if they do not match; since no CSRF token is used, HTML sanitization is critical; if switching to a custom Route Handler (route.tsx), CSRF protection must be implemented manually.

Limitations: The template only provides a code skeleton and dependency combination; the README does not provide feature completeness, test coverage, or deployment instructions; external services such as Supabase and email need to be configured by the user, and their availability and costs are not covered by the code license.

Next.jsReactDashboardStarter

Is it right for your project?

Use Cases

  • Building a project skeleton for a dashboard with authentication
  • Starting a new project with Supabase as the backend data and login solution
  • Organizing Server Actions and API routes under Next.js App Router
  • Backend projects using Prisma migrations to manage database structure

Suitable For

  • Developers needing a starting point for a Next.js dashboard
  • Teams using Supabase and Prisma
  • Projects preferring Tailwind CSS and Shadcn component style
  • Frontend engineers looking to reference App Router directory organization

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    After cloning the repository, run npm install to install dependencies

  2. 2

    Copy .env.example to .env and fill in the configuration

  3. 3

    Run npx prisma migrate dev --name init to create and run migrations

  4. 4

    Run npm run dev to start the development server

  5. 5

    When using a custom Route Handler, CSRF protection must be handled manually

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version under the MIT license in the public repository; the free scope is the code of this version and does not imply that external services or third-party assets are free.

Must comply with when using

  • Free use, modification, commercial use, and distribution of this version's code are permitted.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
  • The code is provided as is; warranties and liability limitations are governed by the original license and applicable law.

Additional costs & items to verify

  • The template relies on Supabase as the authentication and data backend. Before use, you must register a Supabase account and configure a project. Its service availability and costs are determined by Supabase and are not covered by the MIT code license.
  • Before running, you must copy .env.example to .env and fill in environment variables (such as database connection, email, and other external service credentials), otherwise it cannot start properly.
  • You need to run npx prisma migrate dev --name init to create and run database migrations, which depends on an available database connection and is an additional environment requirement.
  • When using Server Actions, no CSRF token is included, and you need to perform HTML sanitization yourself; if switching to a custom Route Handler (route.tsx), you must manually implement CSRF protection.
  • Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the MIT license of the code.
  • External services such as domain names, hosting, databases, payments, or AI may incur additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

Supabase Auth + Supabase CLI

Original README

Copy of the `.env.example` if the `.env` doesn't exist.

Original README

Create an SQL migration file and execute it.

Original README

Server Actions doesn't use CSRF tokens, therefore HTML sanitization is crucial.

Original README
https://github.com/w3labkr/nextjs14-supabase-dashboard/blob/master/LICENSEhttps://github.com/w3labkr/nextjs14-supabase-dashboard/blob/master/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-03. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.

Project checks & description sources

Template Information

Source platforms
GitHub
Documentation and maintenance reference score
Partly documented · 70 / 100
Technologies
Next.js · React
Website type
Admin dashboard · Starter
How this score is calculated

Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.

What to verify for this project

Repository update recorded
2025-02-16
Screenshot last checked
2026-10-03

No demo link is recorded. Use the repository instructions to evaluate the project locally; the screenshot alone cannot establish interactive behavior.

The catalog identifies Next.js as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.

Use a selection guide →

How this description was prepared

AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.

Review declaration: [email protected] · 2026-10-04

Inspect the recorded source material

SHA-256: 582d023eb0149148667072c75de4fe9c76e51691fd15d61ffec77f20cfdfe8b7

2026-10-03T23:18:55.978Z

Source file / repository
# nextjs14-supabase-dashboard

This is a dashboard starter template for the [NextJS](https://nextjs.org) 14 based on [Supabase](https://supabase.com).

## Screenshots

![screenshot](./screenshot.png)

## Denpendencies

- Next.js 14
- Tailwindcss
- Shadcn
- Supabase Auth + Supabase CLI
- Prisma
- Zustand
- React Query
- Jose
- Nodemailer
- Browserslist
- dayjs
- qs
- cookies-next

## Folder and file Structure

The folder and file structure is based on nextjs app router [next.js project structure](https://nextjs.org/docs/getting-started/project-structure).

```txt
.
├── actions/                    # Server Actions
├── app/                        # App Router
│   └── api/
│       ├── auth/               # Authentication
│       └── v1/                 # Public APIs
├── components/                 # React components
├── config/                     # Configuration for site
├── context/                    # Context
├── docs/                       # Documents
├── hooks/                      # Hooks
├── lib/                        # Application specific libraries & Utility functions
├── prisma/                     # Prisma Schema Location and Configuration
├── public/                     # Static assets to be served
│   └── [locales]/              # Internationalization
├── queries/                    # APIs
├── schemas/                    # Schema validations
├── screenshots/                # Screenshots
├── store/                      # State
├── supabase/                   # Supabase CLI
├── types/                      # Type definitions
└── package.json
```

## Getting Started

Clone the repository to the current directory.

```shell
git clone https://github.com/w3labkr/nextjs14-supabase-dashboard.git .
```

Install all modules listed as dependencies.

```shell
npm install
```

Copy of the `.env.example` if the `.env` doesn't exist.

```shell
cp .env.example .env
```

Create an SQL migration file and execute it.

```shell
npx prisma migrate dev --name init
```

Start the development server.

```shell
npm run dev
```

## Documents

- [DEPENDENCIES](./docs/DEPENDENCIES.md)
- [GIT](./docs/GIT.md)
- [PRISMA](./docs/PRISMA.md)
- [SUPABASE](./docs/SUPABASE.md)

## CSRF

> All Server Actions can be invoked by plain `<form>`, which could open them up to CSRF attacks. Behind the scenes, Server Actions are always implemented using POST and only this HTTP method is allowed to invoke them. This alone prevents most CSRF vulnerabilities in modern browsers, particularly due to Same-Site cookies being the default.
>
> As an additional protection Server Actions in Next.js 14 also compares the Origin header to the Host header (or X-Forwarded-Host). If they don't match, the Action will be rejected. In other words, Server Actions can only be invoked on the same host as the page that hosts it. Very old unsupported and outdated browsers that don't support the Origin header could be at risk.
>
> Server Actions doesn't use CSRF tokens, therefore HTML sanitization is crucial.
>
> When Custom Route Handlers (route.tsx) are used instead, extra auditing can be necessary since CSRF protection has to be done manually there. The traditional rules apply there.

[How to Think About Security in Next.js](https://nextjs.org/blog/security-nextjs-server-components-actions)

## License

This software license under the [MIT License](LICENSE).
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.