Getting Started
Introduction
Understand what Customer Portal provides, how it is structured, and where to begin.
Nuxt Customer Portal is an MIT-licensed collection of Nuxt layers for organizations that need a secure place to work with customers, suppliers, and internal teams. It provides the shared foundation—authentication, organizations, roles, administration, navigation, and a dashboard—while business workflows are added as optional packages.
The repository is licensed under MIT. Before depending on the alpha packages, read the current licensing and compatibility status.
That division is the project’s main design choice:
- Portal core owns stable contracts and cross-cutting infrastructure.
- Feature layers own complete business capabilities, from pages to database tables.
- The host application stays thin and composes the installed layers.
The current timesheets feature is used for real operational work. It includes weekly entry, internal and client approvals, supplier workflows, reporting, and an invoices module with PDF and email delivery.
Choose your path
What the base portal includes
- Email/password authentication, email verification, password recovery, and optional GitHub or Google OAuth.
- Organizations, memberships, invitations, active-organization selection, and owner/admin/member roles.
- System-administrator tools for managing users and organizations.
- A feature registry for navigation, module menus, dashboard widgets, and typed policies.
- PostgreSQL with Drizzle ORM and dependency-ordered provider migration streams.
- English and Dutch localization with messages owned by each layer.
- A Docker-ready Nuxt application with frontend and server routes in one service.
Current feature layers
| Layer | Purpose |
|---|---|
core | Headless sessions, authorization, database access, registry, and extension contracts |
ui | Neutral shell primitives, fallback layouts, dashboards, and surface rendering |
authentication | Sign in, sign up, verification, and password recovery |
organizations | Account settings, organizations, members, and invitations |
administration | System-administrator user and organization management |
preset | Core platform composition for common installations |
kit | Configuration, diagnostics, migrations, and legacy adoption |
service-requests | A compact reference feature for tenant-scoped request workflows |
timesheets | Time entry, approvals, suppliers, reporting, and invoices |
Public pages, branding, and the application shell belong to the consuming host, as demonstrated independently by Apex and Brutal.
The source is available on GitHub. If you want to contribute, start with the contribution guide.