Web app

Pulse Masterclass Vue 2025

Full-featured task and project management app with Vue 3, Pinia, Supabase, and TanStack libraries

Cristian Paredes
deployed
2 min read
#vue #pinia #tanstack-table #tanstack-form #vite #shadcn-vue #supabase
Pulse Masterclass Vue 2025 - Image 1

Pulse - Vue.js Masterclass 2025

A comprehensive Vue 3 project management application showcasing enterprise-level development practices with real-time database integration and advanced state management.

Key Features

  • Authentication: Supabase Auth with email-based sign up/in and session tracking
  • Project Management: Full CRUD with slug-based routing and collaborative support
  • Task Management: CRUD operations with status tracking, due dates, and assignments
  • Real-time Updates: Supabase subscriptions with optimistic UI updates
  • Toast Notifications: Custom composable-based notification system

Tech Stack

CategoryTechnology
FrameworkVue 3 + TypeScript
BuildVite 7
StatePinia
UITailwind CSS 4 + shadcn/vue
DatabaseSupabase (PostgreSQL)
FormsTanStack Vue Form v1
TablesTanStack Vue Table v8
AuthSupabase Auth

Architecture Highlights

Pinia Store Pattern

// Memoized queries with cache validation
const fetchProjects = useMemoize(
  async (userId: string) => {
    const { data } = await supabase
      .from('projects')
      .select()
      .eq('user_id', userId)
    return data
  },
  { maxAge: 60000 }
)

Supabase Integration

const supabase = createClient<Database>(
  import.meta.env.VITE_SUPABASE_URL,
  import.meta.env.VITE_SUPABASE_KEY
)

Development

npm install
npm run dev        # Start dev server
npm run build      # Production build
npm run lint       # ESLint

Optimizations

  • Query memoization with
    @vueuse/core
  • Cache validation to prevent stale data
  • Lazy component loading with
    defineAsyncComponent
  • Vue 3
    <Suspense>
    for async handling

Screenshots

Pulse App
Pulse App

Learn More

© 2026 Cristian Stalin Paredes Sánchez