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

Poli Vue is a feature-rich Political Campaign web application built as a fully functional Vue 3 app using the Composition API, Vite, and Bootstrap 5. It ships with 24+ view components, a candidates showcase, a campaign fundraising 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 political campaign and election 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

  • 24+ 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 24 Views

  • /home-v1 — v5 — Five distinct hero and campaign showcase layouts
  • /about — Candidate story and political mission
  • /donation-grid — Campaign and fundraising archive
  • /donation-details — Individual campaign page
  • /story-grid — Community impact story archive
  • /story-details — Individual impact story page
  • /shop-left — Campaign shop with left sidebar
  • /shop-right — Campaign shop with right sidebar
  • /order-details — Order confirmation and tracking
  • /wishlist — Saved causes and products
  • /blog-left — Blog with left sidebar
  • /blog-right — Blog with right sidebar
  • /contact — Contact form and volunteer enquiry

Key Features

  • 24 Fully Designed HTML5 Pages across home, candidates, donations, stories, shop, blog, and account
  • 5 Unique Home Layouts — distinct hero styles and campaign showcase arrangements
  • Bootstrap — responsive, mobile-first grid system
  • Campaign Donation Archive & Detail — fundraising listing and individual campaign donation pages
  • Impact Story Archives & Detail — voter and community impact story pages
  • Shop with Sidebar Variants — campaign merchandise shop with left and right sidebars
  • Order Detail Pages — order confirmation and tracking
  • Wishlist — save and track favourite causes or products
  • Blog with Sidebar Variants — campaign news with left and right sidebar options
  • Swiper Carousel — featured candidate and campaign story sliders
  • Sticksy Sticky Sidebar — persistent navigation and donation sidebar
  • Magnific Popup Lightbox — full-screen campaign and story image 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

  • Political Campaign Organisations: 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 political campaign 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
  • Swiper — 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.
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
  • 24+ 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 “Poli — Politician Campaign Vue.js Website Template”

Need Poli 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
Poli — Politician Campaign Vue.js Website Template
$23 · Vue.js