Skip to main content

Next.js TS Tailwind Supabase Starter

A modern, full-featured starter template for building web applications with Next.js 14, TypeScript 5.4+, TailwindCSS 3.3+, and Supabase 2.x.

Features

  • Next.js 14 with App Router for efficient page routing and server components
  • TypeScript 5.4+ for type safety and enhanced developer experience
  • TailwindCSS 3.3+ for utility-first styling
  • Supabase 2.x for authentication and database management
  • Jest 29.x and React Testing Library 14.x for testing
  • ESLint 8.x and Prettier 3.x for code quality and formatting
  • Complete authentication system with email/password and anonymous sessions
  • Protected routes with role-based access control
  • Responsive UI components built with TailwindCSS

Quick Start

Prerequisites

  • Node.js 18.0 or later
  • Git

Installation

  1. Clone the repository:
git clone https://github.com/matthannigan/nextjs-ts-tailwind-supabase-starter.git
cd nextjs-ts-tailwind-supabase-starter
  1. Install dependencies:
npm install
  1. Set up environment variables:
cp .env.example .env.local

Edit .env.local to add your Supabase URL and anon key.

  1. Start the development server:
npm run dev

Your application will be available at http://localhost:3000.

Documentation

Developer Guide

React Components

Development Journey

  • Blog - in development journal about approach, misteps, and successes building the template

Release History

v0.3 - 2025-04-10

  • Installed shadcn@2.3.0 and essential components
  • Add UI components showcase page
  • Added component documentation
  • Added React unit tests for all components
  • Added jest-html-reporters for generating test reports
  • Refactored documentation to use Docusaurus

v0.2.x - 2025-03-17

  • Configured testing infrastructure
  • Created pre-commit hooks for linting and formatting
  • Added Playwright for end-to-end testing
  • Added documentation for testing and linting tools

v0.1 - 2025-03-16

  • Initial Release
  • Initialized Next.js project
  • Configured styling and linting
  • Set-up project structure
  • Implemented basic layout components