Next.jsReactAdmin dashboardSaaSStarter

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

By AbdulrahmanMasoud

A Next.js-based admin dashboard starter integrated with Prisma and MySQL, providing modules for authentication, user management, content management, media library, subscriptions, email, notifications, settings, and analytics. Suitable for building SaaS applications, admin panels, and content management systems.

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-02View source

What stands out

A quick read of the recorded project description.

01

Built with Next.js App Router and TypeScript, using Prisma to connect to a MySQL database

02

Built-in NextAuth.js authentication and role-based access control with fine-grained permissions

03

Covers admin modules including user management, content management, media library, subscriptions, email, notifications, and settings

04

Provides an analytics dashboard with stat cards, Recharts charts, activity logs, and page view tracking

05

Supports full database backup to JSON and restore

06

Includes a documentation directory covering installation, configuration, features, API, database schema, and deployment instructions

Template Details

This is a full-stack starter template for admin scenarios. The repository uses the MIT license; the code may be used, modified, commercialized, and distributed for free, provided the copyright and license notice are retained when distributing. The tech stack is primarily Next.js (App Router) and TypeScript, with MySQL via Prisma for the database, NextAuth.js JWT sessions for authentication, shadcn/ui and Radix UI for the interface layer, Tailwind CSS for styling, React Hook Form and Zod for form validation, TipTap for rich text, Recharts for charts, TanStack Table for tables, Nodemailer for sending email, and Zustand for state management.

Feature coverage is fairly complete: authentication and authorization support role-based access control and fine-grained permissions; user management provides CRUD, role and permission assignment, and activity records; content management includes articles, categories, tags, rich text editing, and SEO metadata; the media library supports file uploads, folder organization, and metadata records; the subscription system includes pricing plans, billing cycles, and trial support; the email system provides templated emails, variable substitution, SMTP configuration, and delivery logs; notifications support real-time push and user preferences; settings management organizes site configuration, appearance, security, and integrations by group; the analytics dashboard includes stat cards, charts, activity logs, and page view tracking; it also provides the ability to fully back up the database to JSON and restore it. The project structure includes the Prisma schema, API routes, dashboard pages, authentication pages, UI components, validation schemas, email services, and custom hooks, along with a documentation directory.

Before use, note the following: the template requires Node.js 18+ and MySQL 8+, requires configuring environment variables such as DATABASE_URL, NEXTAUTH_URL, NEXTAUTH_SECRET, and NEXT_PUBLIC_SITE_URL, and requires running Prisma migrations and optional seed data. The demo accounts provided in the README are for local demonstration only. Third-party assets such as demo images, fonts, and icons must be checked against their respective licenses; external services such as domains, hosting, databases, payments, or AI may incur separate charges.

Next.jsAdmin panelSaaSStarter

Is it right for your project?

Use Cases

  • Building admin panels and user management interfaces for SaaS products
  • Building content management systems to manage articles, categories, tags, and media files
  • Providing internal systems with an admin dashboard that includes role and permission control
  • Admin projects that require subscription billing, email notifications, and site settings modules

Suitable For

  • Developers of admin projects using a Next.js and MySQL stack
  • Teams that need to quickly build an admin panel with authentication and a permission system
  • Individuals or organizations that want to build on MIT-licensed code for secondary development

Getting started & customization

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

  1. 1

    Requires a Node.js 18+ and MySQL 8+ environment

  2. 2

    Configure environment variables such as DATABASE_URL, NEXTAUTH_URL, NEXTAUTH_SECRET, and NEXT_PUBLIC_SITE_URL

  3. 3

    Run npx prisma migrate dev to complete database migrations; optionally run npx prisma db seed to populate seed data

  4. 4

    Demo accounts ([email protected] / admin123, [email protected] / editor123) are for local demonstration only

  5. 5

    Third-party assets such as demo images, fonts, and icons must be checked against their respective licenses; external services may incur separate charges

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version from a public repository under the MIT license; the free scope applies to that version's code and does not imply that external services or third-party assets are free.

Must comply with when using

  • The code for this version may be used, modified, commercialized, and distributed for free.
  • When distributing copies or substantial portions of the code, retain the original author's copyright notice and the complete 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

  • Use requires your own Node.js 18+ and MySQL 8+ runtime environment, and you must set up the database service yourself.
  • You must configure environment variables such as DATABASE_URL yourself and connect to your own MySQL database; otherwise it cannot run.
  • You must generate and configure authentication secrets such as NEXTAUTH_SECRET yourself; this is the deployer's responsibility.
  • First use requires running Prisma migrations (optional seed data) to initialize the database schema.
  • The demo accounts provided in the README are for local demonstration only and must not be used in production.
  • Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses; the code's MIT license alone is not sufficient to determine this.
  • External services such as domains, hosting, databases, payments, or AI may incur separate charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

- Node.js 18+ - MySQL 8+

Original README

DATABASE_URL="mysql://root:password123@localhost:3306/db_name"

Original README

NEXTAUTH_SECRET="secret-key"

Original README

npx prisma migrate dev

Original README

| Admin | [email protected] | admin123 |

Original README
https://github.com/AbdulrahmanMasoud/saas-starter-dashboard/blob/main/LICENSEhttps://github.com/AbdulrahmanMasoud/saas-starter-dashboard/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-02. 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 · 76 / 100
Technologies
Next.js · React
Website type
Admin dashboard · SaaS · 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-02-01
Screenshot last checked
2026-10-02

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.

Automatically checked against source and license rules; no manual editorial review.

Inspect the recorded source material

SHA-256: 284e53b9a710114e7a667fe59f720d4b93aa9c2d9f5164143707c70c698b010d

2026-10-02T14:00:53.066Z

Source file / repository
# Taqnihub Fullstack Starter Dashboard

[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
[![Next.js](https://img.shields.io/badge/Next.js-16-black)](https://nextjs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-5-blue)](https://www.typescriptlang.org/)
[![Prisma](https://img.shields.io/badge/Prisma-6-2D3748)](https://www.prisma.io/)
[![Tailwind CSS](https://img.shields.io/badge/Tailwind-4-38B2AC)](https://tailwindcss.com/)

A production-ready, full-featured dashboard starter built with Next.js 16, Prisma, and MySQL. Perfect for SaaS applications, admin panels, and content management systems.

![Dashboard Preview](docs/assets/dashboard-preview.png)

## Features

- **Authentication & Authorization** - NextAuth.js with JWT sessions, role-based access control (RBAC), and 55+ granular permissions
- **User Management** - Complete user CRUD with roles, permissions, and activity tracking
- **Content Management** - Posts with categories, tags, rich text editor (TipTap), and SEO metadata
- **Media Library** - File uploads with folder organization and metadata tracking
- **Subscription System** - Pricing plans, billing periods, trial support, and subscription management
- **Email System** - Template-based emails with variable substitution, SMTP configuration, and delivery logs
- **Notifications** - Real-time notifications with user preferences and multiple categories
- **Settings Management** - Grouped settings for site configuration, appearance, security, and integrations
- **Analytics Dashboard** - Stats cards, charts (Recharts), activity logs, and page view tracking
- **Backup & Restore** - Full database backup to JSON with restore capability

## Tech Stack

| Category | Technology |
|----------|------------|
| Framework | [Next.js 16](https://nextjs.org/) (App Router) |
| Language | [TypeScript 5](https://www.typescriptlang.org/) |
| Database | [MySQL 8](https://www.mysql.com/) + [Prisma 6](https://www.prisma.io/) |
| Authentication | [NextAuth.js 5](https://next-auth.js.org/) (Beta) |
| UI Components | [shadcn/ui](https://ui.shadcn.com/) + [Radix UI](https://www.radix-ui.com/) |
| Styling | [Tailwind CSS 4](https://tailwindcss.com/) |
| Forms | [React Hook Form](https://react-hook-form.com/) + [Zod](https://zod.dev/) |
| Rich Text | [TipTap](https://tiptap.dev/) |
| Charts | [Recharts](https://recharts.org/) |
| Data Tables | [TanStack Table](https://tanstack.com/table) |
| Email | [Nodemailer](https://nodemailer.com/) |
| State | [Zustand](https://zustand-demo.pmnd.rs/) |

## Quick Start

### Prerequisites

- Node.js 18+
- MySQL 8+
- npm, pnpm, or yarn

### Installation

```bash
# Clone the repository
git clone https://github.com/taqnihub/dashboard-starter.git
cd dashboard-starter

# Install dependencies
npm install

# Set environment file
# Database
DATABASE_URL="mysql://root:password123@localhost:3306/db_name"
# NextAuth
NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET="secret-key"
# Site URL
NEXT_PUBLIC_SITE_URL="http://localhost:3000"


# Run database migrations
npx prisma migrate dev

# Seed the database (optional)
npx prisma db seed

# Start development server
npm run dev
```

Open [http://localhost:3000](http://localhost:3000) in your browser.

### Demo Credentials

| Role | Email | Password |
|------|-------|----------|
| Admin | [email protected] | admin123 |
| Editor | [email protected] | editor123 |

## Documentation

- [Getting Started](docs/getting-started.md) - Installation and setup guide
- [Configuration](docs/configuration.md) - Environment variables and settings
- [Features](docs/features/) - Detailed feature documentation
  - [Authentication](docs/features/authentication.md)
  - [Content Management](docs/features/content-management.md)
  - [Media Library](docs/features/media-library.md)
  - [User Management](docs/features/user-management.md)
  - [Subscriptions](docs/features/subscriptions.md)
  - [Email System](docs/features/email-system.md)
  - [Settings](docs/features/settings.md)
  - [Analytics](docs/features/analytics.md)
- [API Reference](docs/api/endpoints.md) - Complete API documentation
- [Database Schema](docs/database/schema.md) - Prisma models and relationships
- [UI Components](docs/components/ui-components.md) - Component library guide
- [Deployment](docs/deployment.md) - Production deployment guide

## Project Structure

```
├── prisma/
│   └── schema.prisma        # Database schema (23 models)
├── src/
│   ├── app/
│   │   ├── api/             # API routes (38 endpoints)
│   │   ├── (dashboard)/     # Dashboard pages
│   │   └── (auth)/          # Auth pages
│   ├── components/
│   │   ├── ui/              # shadcn/ui components
│   │   ├── dashboard/       # Dashboard components
│   │   └── auth/            # Auth forms
│   ├── lib/
│   │   ├── validations/     # Zod schemas
│   │   ├── email/           # Email service
│   │   └── hooks/           # Custom hooks
│   └── auth.ts              # NextAuth configuration
├── public/
│   └── uploads/             # Media uploads
└── docs/                    # Documentation
```

## Contributing

We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## Support

- [GitHub Issues](https://github.com/taqnihub/dashboard-starter/issues) - Bug reports and feature requests
- [Discussions](https://github.com/taqnihub/dashboard-starter/discussions) - Questions and community support

---

Built with care by [Taqnihub](https://taqnihub.com)
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.