Next.jsReactAdmin dashboardStarter

next-dashboard-starter — Next.js Admin dashboard Template

By AbrarAhmed111

An open-source dashboard template based on Next.js App Router and TypeScript, integrating Tailwind CSS, Redux Toolkit, and Supabase, providing a responsive dashboard shell, common pages, and authentication flows.

Explore the design

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

2 previews
Desktop homepage1 / 2
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 2

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-15View source

What stands out

A quick read of the recorded project description.

01

Responsive App Router dashboard shell with a fixed sidebar and scrollable content area

02

Header with role/view switching, notifications, profile menu, and reusable modal, dropdown, and table components

03

Provides common pages such as Overview, Insights, Users, Content, Profile, and tabbed Settings

04

Authentication pages use a responsive split-screen layout

05

Supabase integration: SSR-safe clients, session refresh middleware, getCurrentUser and requireAuth server-side helper functions

06

Uses Tailwind CSS, Redux Toolkit, and is configured with ESLint, Prettier, and Jest

Template Details

This template is a Next.js (App Router) dashboard starter project using TypeScript, Tailwind CSS, Redux Toolkit, and integrating Supabase. The README states it includes a responsive dashboard shell: a fixed sidebar and scrollable content area, plus a header with role/view switching, notifications, a profile menu, and reusable modal, dropdown, and table components. For pages, it provides common Overview, Insights, Users, Content, Profile, and tabbed Settings interfaces, as well as authentication pages with a responsive split-screen layout. The analytics views are built with Recharts using mock data, which the README says can be connected to real data. Supabase integration includes server-side and browser-side SSR-safe clients, middleware that refreshes sessions and intercepts routes, and server-side auth helper functions such as getCurrentUser and requireAuth. The README also provides environment variables, Supabase usage, middleware notes, local run scripts, and Vercel deployment steps. The template is released under the MIT license. The README does not specify concrete performance, production readiness, or data source support beyond Supabase.

Next.jsDashboardStarter

Is it right for your project?

Use Cases

  • As starter code for an admin interface, develop specific business pages on top of it
  • Next.js projects that need Supabase authentication and route interception
  • Dashboard applications that use Redux Toolkit for state management
  • Admin backends that need a responsive sidebar, header menu, and common table/modal components

Suitable For

  • Developers familiar with Next.js App Router and TypeScript
  • Projects planning to use Supabase as the authentication and data service
  • Teams that want to quickly start internal tools or admin panels based on an existing dashboard shell

Getting started & customization

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

  1. 1

    Create .env.local in the project root and set NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_ANON_KEY

  2. 2

    Run npm install to install dependencies, then npm run dev to start the development server, accessible by default at http://localhost:3000

  3. 3

    When deploying to Vercel, add the above two environment variables in the project settings

  4. 4

    The README mentions that to use maintenance mode in middleware, you need to configure Edge Config separately on Vercel and add the corresponding token

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 a public repository; the free scope is the code of this version and does not mean 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 limitations of liability are governed by the original license and applicable law.

Additional costs & items to verify

  • Demo images, fonts, icons, and other third-party assets need to be checked against their respective licenses and cannot be judged solely by the code's MIT license.
  • External services such as domains, hosting, databases, payments, or AI may incur additional charges.
  • Using the Supabase integration requires providing your own Supabase project and configuring the NEXT_PUBLIC_SUPABASE_URL environment variable.
  • Using the Supabase integration requires providing your own Supabase project and configuring the NEXT_PUBLIC_SUPABASE_ANON_KEY environment variable.
  • To use maintenance mode in middleware, you need to configure Edge Config separately on Vercel and add the corresponding token.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

NEXT_PUBLIC_SUPABASE_URL=your_supabase_url

Original README

NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key

Original README

# Configure Edge Config separately in Vercel and add its token to your env if needed

Original README
https://github.com/AbrarAhmed111/next-dashboard-starter/blob/main/LICENSEhttps://github.com/AbrarAhmed111/next-dashboard-starter/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-15. 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
More documented · 88 / 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
2026-09-04
Screenshot last checked
2026-10-15

A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.

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: codex-user-requested-batch-review-20261015 · 2026-10-15

Inspect the recorded source material

SHA-256: 4cc43bc9af00bccce50db93c0540b7bdc5c3aaf654152a71b4123073d7301b9f

2026-10-15T05:03:05.212Z

Source file / repository
# Dashboard Template

An open-source Next.js dashboard starter by [Abrar Ahmed](https://github.com/abrarahmed111). You are welcome to use it, improve it, and contribute back.

## What is included

- Responsive App Router dashboard shell with fixed sidebar and scrollable content area
- Header role/view switcher, notifications, profile menu, and reusable modal/dropdown/table components
- Generic Overview, Insights, Users, Content, Profile, and tabbed Settings screens
- Authentication pages with responsive split-screen layout
- Recharts-based mock analytics views ready to connect to real data

A modern Next.js (App Router) template with TypeScript, Tailwind CSS, Redux Toolkit, and first-class Supabase integration (SSR-safe clients, auth middleware, and helpers).

This README documents only the template. Any auxiliary folders (e.g. `nizam-web`) are not part of this template and can be ignored.

## 🚀 Features

- **Next.js 15** (App Router) + **TypeScript**
- **Supabase** integration:
  - SSR-safe clients for server and browser
  - Middleware to refresh sessions and gate routes
  - Server auth helpers (`getCurrentUser`, `requireAuth`)
- **Tailwind CSS** styling
- **Redux Toolkit** state management
- **ESLint + Prettier + Jest** for quality

## 📦 Directory Structure

```
src/
├── app/                          # Next.js App Router
│   ├── error.tsx
│   ├── layout.tsx
│   ├── not-found.tsx
│   └── page.tsx
├── assets/
│   └── css/
│       └── globals.css
├── components/
│   └── guards/
│       └── AuthGate.tsx          # Client-side auth gate (optional)
├── lib/
│   ├── auth/
│   │   ├── index.ts              # getCurrentUser / requireAuth
│   │   └── signout.ts            # clientSignout
│   └── supabase/
│       ├── client.ts             # Browser client
│       ├── server.ts             # Server client (SSR cookies)
│       └── middleware.ts         # Routing + session refresh
├── middleware.ts                 # App middleware -> uses supabase/middleware
├── store/                        # Redux Toolkit store and providers
└── utils/                        # Utilities (e.g., axios config)
```

## 🔐 Environment Variables

Create `.env.local` in the project root:

```env
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
```

Optional (only if you plan to use maintenance mode in middleware):

```env
# Configure Edge Config separately in Vercel and add its token to your env if needed
```

## 🧰 Supabase Usage

- Server components or server actions:

```ts
import { createClient } from '@/lib/supabase/server'

export async function getData() {
  const supabase = await createClient()
  const { data } = await supabase.from('users').select('*')
  return data
}
```

- Client components:

```ts
import { createClient } from '@/lib/supabase/client'

export function MyClientComponent() {
  const supabase = createClient()
  // use supabase on the client
  return null
}
```

- Protect server routes (layouts/pages):

```ts
import { requireAuth } from '@/lib/auth'

export default async function ProtectedLayout({ children }) {
  await requireAuth()
  return <>{children}</>
}
```

- Optional client-side protection:

```tsx
import { AuthGate } from '@/components/guards/AuthGate'

export default function Page() {
  return (
    <AuthGate>
      <div>Protected content</div>
    </AuthGate>
  )
}
```

## 🔒 Middleware

- `src/middleware.ts` delegates to `src/lib/supabase/middleware.ts` to:
  - Keep Supabase sessions fresh
  - Redirect unauthenticated users to sign-in/welcome
  - Optionally support admin subdomain and maintenance mode (if configured)

No configuration is required beyond Supabase env vars for basic auth gating.

## ▶️ Getting Started

```bash
npm install
npm run dev
# visit http://localhost:3000
```

## 📜 Scripts

- `npm run dev` – Start development server
- `npm run build` – Build for production
- `npm run start` – Start production server
- `npm run lint` – Lint with ESLint
- `npm run format` – Format with Prettier
- `npm run test` – Run tests

## 🚀 Deploy

Deploy to Vercel:
1. Push to a Git repository
2. Import the project in Vercel
3. Add env vars (`NEXT_PUBLIC_SUPABASE_URL`, `NEXT_PUBLIC_SUPABASE_ANON_KEY`)
4. Deploy

## 📄 License

This project is available under the [MIT License](./LICENSE).

## Contributing

1. Fork the repository.
2. Create a feature branch.
3. Run `npm install` and `npm run build` locally.
4. Open a pull request with a clear description of the change.
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.