Next.jsReactStarter

nextjs-supabase-starter — Next.js Starter Template

By ysskrishna

A starter template based on Next.js and Supabase, including authentication flows, protected routes, a dashboard interface, and light/dark theme switching.

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

What stands out

A quick read of the recorded project description.

01

Integrates Supabase Auth with session management and persistent authentication state

02

Includes instructions for configuring Google OAuth sign-in

03

Protected routes with automatic redirection

04

Provides landing, sign-up, sign-in, and dashboard pages

05

Light/dark theme switching with system preference detection

06

Uses Radix UI, Tailwind CSS, React Hook Form, Zod, and Recharts

Template Details

This is a Next.js starter template that integrates Supabase as the database and authentication service. The README states that it provides a complete authentication flow: protected routes with automatic redirection, session management based on Supabase Auth, Google OAuth sign-in, persistent authentication state, and token handling. At the page level, it includes a landing page, sign-up page, sign-in page, and dashboard interface, and supports light/dark themes that follow system preferences. The UI is built with Radix UI components and Tailwind CSS, forms use React Hook Form with Zod validation, and charts use Recharts. The project structure is organized according to the Next.js app directory, with auth, dashboard, signin, and signup each separate, plus components, lib, public, styles, and docs directories. The README provides a demo account and points to docs/AUTHENTICATION.md for instructions on creating a Supabase project, configuring Google OAuth, environment variables, and authentication middleware setup. The README does not state the template's production readiness, test coverage, deployment process, or performance characteristics; these aspects need to be evaluated independently.

Next.jsReactStarter

Is it right for your project?

Use Cases

  • Rapidly prototyping a Next.js app with email or Google sign-in
  • Adding a protected dashboard entry point for internal tools or admin panels
  • Experimenting with the combination of Supabase authentication and route protection in a Next.js project

Suitable For

  • Developers familiar with the Next.js App Router and TypeScript
  • Projects that want to start with Supabase as the authentication and database foundation
  • Teams that need ready-made sign-in, sign-up, and dashboard page skeletons

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 or pnpm install to install dependencies

  2. 2

    Follow docs/AUTHENTICATION.md to create a Supabase project and configure Google OAuth

  3. 3

    Configure the environment variables mentioned in the README and set up authentication middleware

  4. 4

    Start the development server with npm run dev or pnpm dev

  5. 5

    Use the demo account [email protected] / demopassword to view the authentication flow

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 that 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 that 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 must 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 separate charges.
  • Before use, you need to create a Supabase project and configure environment variables yourself; the template itself does not include a working backend service.
  • Google OAuth sign-in requires you to complete Google OAuth configuration yourself, involving an external service account.
  • The demo account [email protected] is only for viewing the demo site and cannot be used in a production environment.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

3. Set up your Supabase project and add the environment variables

Original README

- Google OAuth configuration

Original README

- **Email:** `[email protected]`

Original README
https://github.com/ysskrishna/nextjs-supabase-starter/blob/main/LICENSEhttps://github.com/ysskrishna/nextjs-supabase-starter/blob/main/README.md

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

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: b6961c53ce8165b37d3f42bcd5f9c905f3aa643a98c582e1d87fcc9079b83d8d

2026-10-14T09:59:02.899Z

Source file / repository
[![Next.js](https://img.shields.io/badge/Next.js-15.2.4-black.svg)](https://nextjs.org/)
[![React](https://img.shields.io/badge/React-19-blue.svg)](https://reactjs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-5-blue.svg)](https://www.typescriptlang.org/)
[![Supabase](https://img.shields.io/badge/Supabase-latest-green.svg)](https://supabase.com/)
[![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-3.4.17-38B2AC.svg)](https://tailwindcss.com/)
[![Radix UI](https://img.shields.io/badge/Radix_UI-1.0.0-black.svg)](https://www.radix-ui.com/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

# NextJS Supabase Starter

A modern Next.js starter template with Supabase integration, featuring a beautiful UI powered by Radix UI components and Tailwind CSS.

## Demo

- **URL:** [https://ysskrishna-nextjs-supabase-starter.vercel.app/](https://ysskrishna-nextjs-supabase-starter.vercel.app/)
- **Email:** `[email protected]`
- **Password:** `demopassword`

## Features

- 🔐 Authentication system with Supabase
- 📱 Responsive design with Tailwind CSS
- 🎨 Modern UI components from Radix UI
- 📊 Dashboard interface
- 🎯 TypeScript support
- 🌓 Light/Dark theme support with system preference detection
- 🔄 Automatic route protection and redirections

## Authentication Flow

The application implements a complete authentication flow with the following features:

- Protected routes with automatic redirections
- Session management using Supabase Auth
- Google OAuth integration
- Persistent authentication state
- Secure token handling

For detailed setup instructions, please refer to the [Authentication Guide](./docs/AUTHENTICATION.md) which includes:
- Supabase project setup
- Google OAuth configuration
- Environment variables setup
- Authentication middleware configuration


## Screenshots

### Landing Page
<div style="display: flex; gap: 1rem; margin-bottom: 1rem;">
  <div>
    <h4>Light Theme</h4>
    <img src="/media/landing.png" alt="Landing Page Light Theme" width="400"/>
  </div>
  <div>
    <h4>Dark Theme</h4>
    <img src="/media/landing-dark.png" alt="Landing Page Dark Theme" width="400"/>
  </div>
</div>

### SignUp Page
<div style="display: flex; gap: 1rem; margin-bottom: 1rem;">
  <div>
    <h4>Light Theme</h4>
    <img src="/media/signup.png" alt="SignUp Page Light Theme" width="400"/>
  </div>
  <div>
    <h4>Dark Theme</h4>
    <img src="/media/signup-dark.png" alt="SignUp Page Dark Theme" width="400"/>
  </div>
</div>

### SignIn Page
<div style="display: flex; gap: 1rem; margin-bottom: 1rem;">
  <div>
    <h4>Light Theme</h4>
    <img src="/media/signin.png" alt="SignIn Page Light Theme" width="400"/>
  </div>
  <div>
    <h4>Dark Theme</h4>
    <img src="/media/signin-dark.png" alt="SignIn Page Dark Theme" width="400"/>
  </div>
</div>

### Dashboard Page
<div style="display: flex; gap: 1rem; margin-bottom: 1rem;">
  <div>
    <h4>Light Theme</h4>
    <img src="/media/dashboard.png" alt="Dashboard Page Light Theme" width="400"/>
  </div>
  <div>
    <h4>Dark Theme</h4>
    <img src="/media/dashboard-dark.png" alt="Dashboard Page Dark Theme" width="400"/>
  </div>
</div>

## Tech Stack

- **Framework:** Next.js 15
- **Database & Auth:** Supabase
- **Styling:** Tailwind CSS
- **UI Components:** Radix UI
- **Form Handling:** React Hook Form
- **Validation:** Zod
- **Charts:** Recharts
- **Icons:** Lucide React
- **Date Handling:** date-fns

## Getting Started

1. Clone the repository
2. Install dependencies:
   ```bash
   npm install
   # or
   pnpm install
   ```
3. Set up your Supabase project and add the environment variables
4. Run the development server:
   ```bash
   npm run dev
   # or
   pnpm dev
   ```

## Available Scripts

- `npm run dev` - Start development server
- `npm run build` - Build for production
- `npm run start` - Start production server
- `npm run lint` - Run ESLint

## Project Structure

```
├── app/              # Next.js app directory
│   ├── auth/        # Authentication routes
│   ├── dashboard/   # Dashboard pages
│   ├── signin/      # Sign in page
│   └── signup/      # Sign up page
├── components/      # Reusable UI components
├── lib/            # Utility functions and configurations
├── public/         # Static assets
└── styles/         # Global styles
└── docs/           # Documentation
    └── AUTHENTICATION.md  # Authentication setup guide
```

## Dependencies

The project uses a comprehensive set of modern dependencies including:

- Radix UI components for accessible UI elements
- React Hook Form for form handling
- Zod for schema validation

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## License

This template is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.