Directory structure organized based on Next.js 14 App Router
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.
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.
What stands out
A quick read of the recorded project description.
Data and authentication layer uses Supabase, managed via Supabase CLI
Uses Prisma to manage database schema and migrations
Integrates Tailwind CSS and Shadcn for building the interface
Built-in Zustand state management and React Query data fetching
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.
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
After cloning the repository, run npm install to install dependencies
- 2
Copy .env.example to .env and fill in the configuration
- 3
Run npx prisma migrate dev --name init to create and run migrations
- 4
Run npm run dev to start the development server
- 5
When using a custom Route Handler, CSRF protection must be handled manually
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis 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
https://github.com/w3labkr/nextjs14-supabase-dashboard/blob/master/LICENSEhttps://github.com/w3labkr/nextjs14-supabase-dashboard/blob/master/README.mdServer Actions doesn't use CSRF tokens, therefore HTML sanitization is crucial.
Original README
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  ## 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).
Explore similar templates
Compare previews and descriptions within the same stack and category.

Next.js SaaS Starter
The official Next.js SaaS starter template, integrating email/password authentication, Stripe Checkout subscriptions, a dashboard with user/team CRUD, basic Owner/Member RBAC, and activity logging.
Next.js · SaaS

Next.js Commerce
Vercel's officially maintained Next.js App Router ecommerce starter with deep Shopify integration, offering a complete product catalog, cart, and checkout flow. Core logic is modular for swapping backends, and community provider versions exist for BigCommerce, Medusa, and Saleor.
Next.js · E-commerce

Next-js-Boilerplate
A developer-first Next.js 16 starter with Tailwind CSS 4 and TypeScript, supporting both App Router and Page Router.
Next.js · Starter

tailwind-nextjs-starter-blog
A Next.js and Tailwind CSS blog starter template using Contentlayer for Markdown/MDX, with built-in SEO, code highlighting, and tags. It targets personal technical blogs and migration from Jekyll/Hugo to React, and supports one-click Vercel deployment.
Next.js · Blog

next-forge
next-forge is a Turborepo-based Next.js template maintained by Vercel, positioned as a starting point for SaaS products.
Next.js · Starter

SaaS-Boilerplate
SaaS-Boilerplate is an open-source SaaS starter template built with Next.js App Router, React 19, TypeScript, Tailwind CSS, and Shadcn UI.
Next.js · SaaS
