JonikUl/nuxdmin

โ˜… 0Forks 0ShellGitHub โ†—Compare

README

nuxdmin

๐Ÿš€ Modern admin dashboard template built with Nuxt 4, TypeScript, and Nuxt UI

A modular, full-stack admin dashboard template designed to be quickly adapted for various projects. Built with Nuxt 4, Nuxt UI, TypeScript, and following a Modular Monolith architecture.

Tech Stack

  • Framework: Nuxt 4 with Nitro server
  • Language: TypeScript
  • UI Library: Nuxt UI (shadcn-vue based)
  • Styling: Tailwind CSS
  • State Management: Pinia
  • Authentication: nuxt-auth-utils (OAuth, sessions)
  • Testing: Vitest + @nuxt/test-utils
  • Linting: Oxlint (fast) + ESLint (deep checks)
  • Formatting: Oxfmt

Getting Started

Prerequisites

  • Node.js >= 20.0.0
  • pnpm >= 9.0.0

Installation

# Install dependencies
pnpm install

Development

# Start development server
pnpm dev

Open http://localhost:3000 in your browser.

Build

# Build for production
pnpm build

# Preview production build
pnpm preview

Project Structure

nuxdmin/
โ”œโ”€โ”€ app/
โ”‚   โ””โ”€โ”€ modules/           # Feature modules (Modular Monolith)
โ”‚       โ”œโ”€โ”€ auth/          # Authentication & authorization
โ”‚       โ”œโ”€โ”€ dashboard/     # Dashboard module
โ”‚       โ”œโ”€โ”€ users/         # User management
โ”‚       โ”œโ”€โ”€ settings/      # Settings module
โ”‚       โ””โ”€โ”€ shared/        # Shared utilities
โ”œโ”€โ”€ server/                # Nitro API routes
โ”œโ”€โ”€ types/                 # TypeScript definitions
โ””โ”€โ”€ test/                  # Vitest tests

Module Structure

Each module follows this pattern:

app/modules/[module-name]/
โ”œโ”€โ”€ components/          # Vue components
โ”œโ”€โ”€ composables/         # Composable functions
โ”œโ”€โ”€ pages/               # Auto-routed pages
โ”œโ”€โ”€ server/api/          # API routes
โ”œโ”€โ”€ types/               # TypeScript types
โ””โ”€โ”€ index.ts             # Public API exports

Scripts

Command Description
pnpm dev Start development server
pnpm build Build for production
pnpm lint:oxlint Run Oxlint (fast)
pnpm lint Run Oxlint + ESLint
pnpm format Format with Oxfmt
pnpm test:unit Run unit tests
pnpm test:coverage Run tests with coverage

Features

  • Modular Architecture - Self-contained modules with clear boundaries
  • Type Safety - Full TypeScript coverage
  • OAuth Authentication - GitHub, Google providers via nuxt-auth-utils
  • Dark/Light Mode - Built-in theming support
  • Responsive Design - Mobile-first approach
  • Testing Ready - Vitest configuration included

Customization

This template is designed to be forked and adapted per project:

  1. Remove unused modules - Delete module directories you don't need
  2. Add new modules - Follow the module template structure
  3. Configure OAuth - Set up nuxt-auth-utils with your providers
  4. Customize theme - Modify app.config.ts for your brand colors

Documentation

License

MIT

Contributors

JonikUl

Issues