Overview

What's in the box.

Format
Vue.js
6 more on their own pages
Files
Full source
code + documentation
License
Personal
1 commercial site
Updates
Lifetime
free, for your format
Support
Same day
business days, 9am–6pm ET
Delivery
Instant
download after checkout

Craftato Vue is a creative Tattoo Shop web application built as a fully functional Vue 3 app using the Composition API, Vite, and Bootstrap 5. It ships with 15+ view components, a filterable tattoo portfolio gallery, a full e-commerce module with cart and checkout, a blog module, written entirely with script setup and the Composition API — zero Options API usage.

Built for Vue developers delivering tattoo shop and tattoo artist portfolio sites and applications. The codebase uses Vue 3 Composition API throughout — ref(), reactive(), computed(), watch(), and composables for shared logic. Single File Components (.vue) keep template, script setup, and scoped styles co-located. Replace the static JSON data sources with any REST API or headless CMS and the reactive layer adapts immediately.

Everything in the Package

  • 15+ view-level Single File Components with Vue Router 4 history mode routing
  • Vue 3 with script setup syntax and Vite — fast HMR dev server and optimised production build
  • Vue Router 4 — history mode with lazy-loaded routes via defineAsyncComponent
  • Pinia store for global state management — state, getters, and actions with localStorage persist plugin
  • Bootstrap 5 — responsive grid and utility classes
  • VeeValidate 4 — schema-based form validation with v-model two-way binding on all forms
  • Swiper Vue — touch-friendly carousels via SwiperSlide components
  • All data sourced from typed JSON in src/data/ — swap to fetch() or axios for live API
  • Scoped CSS inside each .vue file — no global style bleed between components
  • Retina-ready, fully responsive from 320px to 1920px+
  • Vue DevTools compatible — Pinia store fully inspectable in browser

Composition API and Component Architecture

  • All views use script setup — defineProps, defineEmits, ref(), computed(), and watch()
  • Composables encapsulate reusable logic — useFilter, useCart, useForm, and feature-specific hooks
  • Pinia store: defineStore with typed state, computed getters, and async actions
  • defineAsyncComponent applied to secondary view bundles — route-level code splitting
  • v-model, v-for, v-if, v-show used throughout — idiomatic Vue 3 template syntax
  • storeToRefs used for reactive destructuring of Pinia store properties in setup()
  • Folder structure: src/views/, src/components/, src/composables/, src/stores/, src/data/

All 15 Views

  • /home-v1 — v2 — Two distinct hero and ink artwork showcase layouts
  • /about-us — Studio story, artistic philosophy, and values
  • /services — All tattoo and body art services overview
  • /service-detail — Individual service or treatment page
  • /portfolio — Tattoo artwork and project archive with Isotope filtering
  • /portfolio-detail — Individual artwork or project case study
  • /team — Tattoo artist profiles grid
  • /team-detail — Individual artist profile with bio and portfolio
  • /gallery — Studio atmosphere and ink artwork gallery
  • /blog — News and tattoo culture archive
  • /blog-grid — Posts in card grid layout
  • /blog-detail — Full article view with related posts
  • /faq — Common client questions on tattoo care and process
  • /contact-us — Contact form, address, and map

Key Features

  • 15 Fully Designed HTML5 Pages across home, portfolio, services, team, blog, and gallery
  • 2 Unique Home Layouts — distinct hero styles and ink artwork showcase arrangements
  • Bootstrap 5 — responsive, mobile-first grid system
  • Portfolio Module — tattoo artwork and project archive + individual portfolio detail page
  • Services Module — all studio services overview + individual service detail page
  • Team Pages — tattoo artist profiles grid + individual artist detail page
  • Blog Module — blog in standard, grid, and full-article detail formats
  • Gallery Page — studio atmosphere and tattoo artwork image gallery
  • CounterUp Animated Statistics — tattoos completed, happy clients, years in business
  • Isotope Grid Filtering — filter portfolio by tattoo style or category
  • Owl Carousel — featured artwork and testimonial sliders
  • Magnific Popup Lightbox — full-screen artwork and gallery popup

Performance and SEO

  • useHead (VueUse) sets per-route title and meta description reactively for SEO
  • defineAsyncComponent and Suspense code-split secondary view bundles on route change
  • Vite production build applies Rollup tree-shaking, chunk splitting, and asset fingerprinting
  • All images carry descriptive :alt bindings meeting WCAG 1.1.1
  • Google Fonts loaded with font-display: swap to prevent invisible-text flash

Use Cases

  • Tattoo Shop Businesses: Fast Vue 3 SPA with Composition API — reactive, composable, and easy to maintain
  • Vue Developers: Composables, Pinia stores, and Vue Router 4 patterns — production architecture from day one
  • Freelancers and Agencies: Deliver a polished tattoo shop site to clients with Vite build tooling and DevTools support
  • Startups: Lightweight bundle, defineAsyncComponent code-splitting, and VeeValidate forms ready to go

Credits and Dependencies

  • Vue 3 — MIT License
  • Vite — MIT License
  • Vue Router 4 — MIT License
  • Pinia — MIT License
  • VeeValidate 4 — MIT License
  • Bootstrap 5 — MIT License
  • Swiper Vue — MIT License
  • Isotope — MIT License
  • CounterUp — MIT License
  • Magnific — MIT License
  • Lightbox — MIT License
  • Font Awesome 6 — Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT
  • Google Fonts — SIL Open Font License
  • Demo images: Unsplash — Unsplash License (free for commercial use, no attribution required)
  • Demo images: Freepik — Freepik License (free for commercial use with attribution)
  • All demo images are for preview purposes only and are NOT included in the download.

Buyer’s guideFlimzyfans — Influencer Platform Website Template | Bootstrap 5 (51 Pages, 7 Profile Layouts) — see how Craftato compares with the alternatives.

Changelog · 1 version

What's changed.

  • Vue 3 Composition API with script setup syntax throughout
  • Vite build tooling with fast HMR and optimised production output
  • 15+ view-level Single File Components with Vue Router 4 history mode
  • Pinia store with localStorage persist plugin for global state management
  • VeeValidate 4 schema-based form validation on all form views
  • defineAsyncComponent route-level code splitting on secondary views
  • useHead per-route SEO meta tags via VueUse
Customer reviews

What customers actually said.

Reviews

There are no reviews yet.

Be the first to review “Craftato — Tattoo Shop Vue.js Website Template”

Need Craftato installed or customized?

Fixed prices, done by the developers who built this template. Pick a service and we take it from there.

  • Theme installation
  • Color scheme customization
  • Speed optimization
  • 1-hour web development
See studio services
Craftato — Tattoo Shop Vue.js Website Template
$19 · Vue.js