Getting Started

Introduction

Welcome to PortalNuxt — a free and open source customer portal built with Nuxt 4, Nuxt UI, and a simple single-service backend.

PortalNuxt is a modern customer portal built with Nuxt, ready to extend. It is a free and open source solution for building customer portals with Nuxt 4, Nuxt UI, and a simple single-service backend.

Installation

Set up the project and run it locally.

Try it out

Explore the live demo.

View on GitHub

Source code and contributions.

Nuxt

The Nuxt framework.

Nuxt UI

Tailwind CSS + Headless UI components.

better-auth

Authentication library used by the portal.

What is included?

The portal is structured around clear layouts, secure authentication flows, an admin area, and a customer area.

  • Layouts & themes: Sign-in and sign-up layout, admin section layout, customer section layout, and client-specific styling (colors, fonts, themes).
  • Security: Sign in / sign up, multiple login methods (Google, Facebook, X, GitHub, Microsoft, email/password), email confirmation, forgot password, and two-factor authentication (authenticator app).
  • Admin section: Client management, user management, role & permission management, and custom fields for clients and users.
  • Customer section: Dashboard, orders list, invoices list, pay invoices (Stripe, Polar.sh, and more), and client-specific pages and data (extensible per customer).

Tech stack

Kept intentionally simple: one service and one database to deploy.

  • Nuxt 4 — Frontend + backend in one project
  • Nuxt UI — Tailwind CSS + Headless UI
  • TypeScript — Typed end-to-end
  • PostgreSQL — Primary database
  • Drizzle ORM — Type-safe ORM
  • better-auth — Authentication
  • Docker — Containerized deployments
  • Vercel — Edge hosting & deployments
  • Neon — Hosted Postgres option

Explore the rest of the docs to set up the project, configure authentication, and extend the portal for your needs.