Skip to content

damisparks/nuxt-boilerplate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

59 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Nuxt 3 Boilerplate

A modern, feature-rich Nuxt 3 starter template with TypeScript support, Nuxt UI, state management with Pinia, and comprehensive tooling for development.

Deploy to Netlify

Features

  • ⚑️ Nuxt 3 with pnpm - super fast development and build times
  • 🎨 Nuxt UI - sophisticated, accessible, and highly performant user interfaces
  • πŸ” TypeScript - type safety and improved developer experience
  • πŸ“ NuxtFonts - plug-and-play fonts optimization
  • 🍍 Pinia - intuitive, type safe store for Vue
  • πŸ“± Device Detection - mobile and device detection (@nuxtjs/device)
  • ✨ Eslint Nuxt - code quality and consistency
  • πŸ• Husky & Lint-staged - Git hooks for code quality
  • πŸ–ΌοΈ Nuxt Image - optimized image handling
  • πŸš€ Nuxt Icons - easy icon usage
  • 🧩 Custom error page with consistent UI

Project Structure

β”œβ”€β”€ eslint.config.mjs  # ESLint configuration
β”œβ”€β”€ LICENSE            # License file
β”œβ”€β”€ nuxt.config.ts     # Nuxt configuration
β”œβ”€β”€ package.json       # Project dependencies
β”œβ”€β”€ pnpm-lock.yaml     # pnpm lock file
β”œβ”€β”€ README.md          # Project documentation
β”œβ”€β”€ tsconfig.json      # TypeScript configuration
β”œβ”€β”€ app/               # Main application directory
β”‚   β”œβ”€β”€ app.vue        # Application entry point
β”‚   β”œβ”€β”€ error.vue      # Error page
β”‚   β”œβ”€β”€ assets/        # Static assets
β”‚   β”‚   └── css/       # CSS files
β”‚   β”‚       └── main.css
β”‚   β”œβ”€β”€ components/    # Vue components
β”‚   β”‚   β”œβ”€β”€ AppFooter.vue
β”‚   β”‚   β”œβ”€β”€ AppNavBar.vue
β”‚   β”‚   β”œβ”€β”€ AppTitle.vue
β”‚   β”‚   β”œβ”€β”€ ProductCard.vue
β”‚   β”‚   └── QuickAccess.vue
β”‚   β”œβ”€β”€ layouts/       # Page layouts
β”‚   β”‚   └── default.vue
β”‚   β”œβ”€β”€ pages/         # Application routes
β”‚   β”‚   β”œβ”€β”€ index.vue
β”‚   β”‚   └── play.vue
β”‚   β”œβ”€β”€ store/         # Pinia store modules
β”‚   β”‚   └── productStore.ts
β”‚   └── types/         # TypeScript type definitions
β”‚       └── index.ts
└── public/            # Public static assets
    └── favicon.ico

Setup

Make sure to install the dependencies:

# Install dependencies
pnpm install

Development

Start the development server on http://localhost:3000

pnpm dev

Production

Build the application for production:

pnpm build

Locally preview production build:

pnpm preview

Linting

Run linting:

pnpm lint

Fix linting issues:

pnpm lintfix

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License.

Check out the Nuxt 3 documentation for more information.