Next.jsReactSaaSStarter

nextjs-starter-template — Next.js SaaS Template

By FelipeOliveiraDvP

A SaaS starter template built on the Next.js App Router, integrating NextAuth authentication, Prisma + PostgreSQL, Mantine UI and Inngest background jobs.

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

What stands out

A quick read of the recorded project description.

01

Uses the Next.js App Router to organize routes and nested layouts

02

NextAuth authentication, including 2FA and password recovery

03

Prisma + PostgreSQL, with migrations and seed scripts

04

Inngest background jobs, decoupled from request/response

05

Mantine UI components and customizable theme

06

Directory structure divided by features, with Biome quality scripts

Template Details

This template targets SaaS products that need login and private areas. It uses the Next.js App Router to organize routes and layouts, with TypeScript strict mode enabled. Authentication is provided by NextAuth, including 2FA and password recovery; the data layer uses Prisma with PostgreSQL, providing migrations and seed scripts; background jobs are decoupled from request/response via Inngest and can be used for integrations such as email sending. The UI is based on Mantine with a theme included, and code is divided by domain logic under src/features, with additional components, lib and providers directories. The development workflow includes Biome lint/format, typecheck and a local Inngest worker. The README explicitly states that it is not suitable for simple landing pages without a backend, purely static sites, or projects that require a highly customized frontend from the start; running it requires Node.js 20+, pnpm 10+ and PostgreSQL 16+.

Next.jsReactSaaSStarter

Is it right for your project?

Use Cases

  • Building B2B SaaS products with login and private areas
  • Developing internal or external dashboards that require authentication
  • Providing a starting point for projects that need background jobs and email integration
  • Starting a team collaboration Next.js project with a conventional directory structure

Suitable For

  • Full-stack SaaS projects that need authentication, a database and background jobs
  • Teams using TypeScript and accepting strict mode
  • Developers willing to organize code by features directories
  • Projects using PostgreSQL and requiring migration and seed workflows

Getting started & customization

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

  1. 1

    Environment requirements: Node.js 20+, pnpm 10+, PostgreSQL 16+

  2. 2

    Copy .env.example to .env.local and fill in the database, Brevo email, NextAuth secret, etc.

  3. 3

    Run pnpm prisma generate, pnpm prisma migrate dev in order, optionally pnpm prisma seed

  4. 4

    pnpm dev starts development; for background jobs, run the local worker with pnpm inngest:dev

  5. 5

    Configure all environment variables before deployment and run pnpm prisma migrate deploy

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 this version and does not mean that external services or third-party assets are free.

Must comply with when using

  • The code of this version may be used, modified, used commercially and distributed free of charge.
  • 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

  • Before use, you must prepare environment variables such as database credentials, Brevo email service keys and NextAuth secrets yourself; the template itself does not provide accounts for these external services.
  • Running it requires a self-provided PostgreSQL 16 or higher database service, which is an external dependency rather than built into the template.
  • Background jobs depend on the Inngest service; local development requires running an Inngest worker, and production usually requires connecting to the external Inngest service.
  • The README explicitly states that this template is not suitable for simple landing pages without a backend, purely static sites, or projects that require a highly customized frontend from the start.
  • Demo images, fonts, icons and other third-party assets must be checked against their respective licenses; they cannot be judged solely by the code's MIT license.
  • External services such as domains, hosting, databases, payments or AI may incur additional charges.
View Original Text Basis

Permission is hereby granted, free of charge

Original License Text

Preencha credenciais de banco, chaves de e-mail (Brevo), segredos do NextAuth e integrações opcionais.

Original README

**PostgreSQL:** 16 ou superior

Original README

**Inngest para background jobs**

Original README

**Não recomendado para:**

Original README
https://github.com/FelipeOliveiraDvP/nextjs-starter-template/blob/main/LICENSEhttps://github.com/FelipeOliveiraDvP/nextjs-starter-template/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 · 85 / 100
Technologies
Next.js · React
Website type
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
2025-12-27
Screenshot last checked
2026-10-02

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.

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

Inspect the recorded source material

SHA-256: d306e2e8a8312fc4d91a467703e6a65ac52573ca408e2d1b63c9582d95803312

2026-10-02T18:26:35.845Z

Source file / repository
# Next.js SaaS Template com TypeScript e Mantine UI

Template fullstack opinado para acelerar o lançamento de **aplicações SaaS com foco em produtividade e escalabilidade real**, usando **Next.js 16 (App Router)**, **React 19**, **TypeScript** e **Mantine UI**. Inclui autenticação completa, integração de e-mail, jobs em background, padrões de logging e configuração robusta de banco de dados.

Este template não é apenas “mais um boilerplate”. Ele encapsula decisões arquiteturais que já funcionaram em projetos reais de SaaS, ajudando você a evitar armadilhas comuns no início de um produto.

> **Licença:** [MIT](LICENSE)

---

## 🚀 Para quem este template é útil

**Perfeito para:**

* Produtos SaaS B2B com autenticação e áreas privadas
* Dashboards internos ou externos
* Aplicações que precisam de um ponto de partida com boas escolhas opinativas

**Não recomendado para:**

* Landing pages simples sem backend
* Sites estáticos sem lógica de usuário
* Projetos que exigem solução de frontend altamente customizada desde o início

---

## 🧠 Decisões arquiteturais explicadas

Aqui estão as escolhas principais e o porquê de elas existirem:

* **App Router nativo do Next.js 16**
  Estrutura moderna de rotas com suporte built-in a layouts aninhados.

* **TypeScript com `strict` ativado**
  Segurança de tipos que reduz bugs silenciosos em código complexo.

* **Mantine v8 como UI library**
  Produtividade alta com componentes acessíveis e tema customizável sem esforço.

* **Organização por features (`src/features`)**
  Separa domínio, lógica e UI para facilitar escala e colaboração em equipe.

* **NextAuth para autenticação completa**
  Inclui suporte a 2FA e recuperação de senha com padrões testados em produção.

* **Prisma + PostgreSQL**
  ORM moderno com migrations e seeds padronizados.

* **Inngest para background jobs**
  Jobs desacoplados do request/response, facilitando integrações como envio de e-mail.

* **Biome para lint/format**
  Ferramenta única para linting e formatação, simplificando regras de estilo.

Essas escolhas são opinativas por design. Se você discorda de alguma, ótimo. Está tudo visível para você modificar.

---

## 📦 O que já vem pronto

* Autenticação com NextAuth
* Estrutura de pastas opinada
* Layouts públicos e protegidos por padrão
* UI pronta com Mantine + tema
* Scripts utilitários de banco
* Pipelines de qualidade (lint, format, typecheck)
* Worker local para jobs com Inngest

---

## ⚙️ Requisitos

Consulte [REQUIREMENTS.md](REQUIREMENTS.md) para detalhes completos. Resumo:

* **Node.js:** 20 ou superior
* **pnpm:** 10 ou superior
* **PostgreSQL:** 16 ou superior

---

## 💡 Como Começar (em ~5 minutos)

```bash
git clone <repo>
cd <repo>
pnpm install
```

1. Copie o `.env.example` para `.env.local`
   Preencha credenciais de banco, chaves de e-mail (Brevo), segredos do NextAuth e integrações opcionais.

2. Prepare o banco:

```bash
pnpm prisma generate
pnpm prisma migrate dev
pnpm prisma seed   # opcional
```

3. Rode localmente:

```bash
pnpm dev
```

Acesse [http://localhost:3000](http://localhost:3000) e veja a magia acontecendo.

---

## 🛠️ Fluxo de Desenvolvimento

| Ação                  | Comando            | O que faz                      |
| --------------------- | ------------------ | ------------------------------ |
| Verificar lint/estilo | `pnpm lint`        | Lint e estilo com Biome        |
| Formatar código       | `pnpm format`      | Formatação automática          |
| Checar tipos          | `pnpm typecheck`   | Verificação de tipos sem build |
| Rodar jobs local      | `pnpm inngest:dev` | Worker Inngest em dev          |

---

## 📈 Build e Produção

```bash
pnpm build
pnpm start
```

**Antes de deploy:** garanta que todas as variáveis de ambiente estejam configuradas e que as migrations já foram aplicadas (`pnpm prisma migrate deploy`).

---

## 🧱 Estrutura de Pastas (visão rápida)

```
src/
 ├─ app/           # Rotas, handlers, layouts (App Router)
 ├─ components/    # UI reutilizável
 ├─ features/      # Domínio e lógica por feature
 ├─ lib/           # Utils, integrations, Prisma Client, NextAuth
 └─ providers/     # Providers globais (ex. Mantine)
prisma/            # Schema, migrations e seeds
```

---

## 🗺️ Roadmap Público

O arquivo [TODO.md](TODO.md) contém uma lista priorizada de melhorias e integrações futuras — todas visíveis para quem quiser contribuir.

**Principais itens no radar:**

* Testes automatizados (unit + e2e)
* Suporte a roles/permissions mais granulares
* Templates de e-mail reutilizáveis
* Deploy automatizado com pipelines prontos

---

## 📬 Suporte e Contato

Se precisar de ajuda, quiser customizações ou dar feedback:

* ✉️ [[email protected]](mailto:[email protected])
* 🐙 Abra uma issue no GitHub
* 🔗 Conecte-se no LinkedIn: [https://www.linkedin.com/in/felipe-de-oliveira-souza-a558a814b/](https://www.linkedin.com/in/felipe-de-oliveira-souza-a558a814b/)
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.