๐ŸŽฏ

nuxt-skills

๐ŸŽฏSkill

from yulei-chen/ssaw

VibeIndex|
What it does

Based on the README, there is no explicit mention of a specific "nuxt-skills" component. The README describes a Nuxt 4 application for a timeline-based couple/partner tracking app with features lik...

๐Ÿ“ฆ

Part of

yulei-chen/ssaw(2 items)

nuxt-skills

Installation

npm runRun npm script
npm run dev
๐Ÿ“– Extracted from docs: yulei-chen/ssaw
1Installs
-
AddedFeb 4, 2026

Skill Details

SKILL.md

Overview

# SSAW

Spring, Summer, Autumn, Winter โ€” Stay with you through every season.

  • Login with Google
  • Homepage: today-style day view with your timeline (and your partnerโ€™s when matched)
  • Settings: avatar, display name, partner email (strict mutual matching)
  • Your timeline: drag to create a time block โ†’ add notes and images
  • Partnerโ€™s timeline: open a block to view notes and add comments

Stack

  • Nuxt 4, Vue 3, TypeScript
  • Supabase (Auth with Google, Postgres, Storage)
  • VueUse, Tailwind CSS, PWA (@vite-pwa/nuxt)

Setup

  1. Install

```bash

npm install

```

  1. Supabase

- Create a project at [supabase.com](https://supabase.com)

- Enable Google in Authentication โ†’ Providers

- Create Storage buckets: avatars (public) and block-images (public)

- Apply schema: either run supabase db push (see [Dev vs prod](#dev-vs-prod)) or run supabase/schema.sql + supabase/storage-policies.sql in the SQL editor

- Copy project URL and anon key into .env:

```env

NUXT_PUBLIC_SUPABASE_URL=https://xxx.supabase.co

NUXT_PUBLIC_SUPABASE_KEY=your_anon_key

```

  1. Run

```bash

npm run dev

```

  1. PWA icons (optional)

Add public/pwa-192.png and public/pwa-512.png for install icons, or adjust nuxt.config.ts manifest.

Deploy to Netlify

  1. Connect repo โ€” New site โ†’ Import from Git โ†’ choose this repo. Netlify will use netlify.toml for build settings.
  1. Environment variables โ€” In Site settings โ†’ Environment variables, add:

- NUXT_PUBLIC_SUPABASE_URL โ€” your Supabase project URL

- NUXT_PUBLIC_SUPABASE_KEY โ€” your Supabase anon (public) key

  1. Supabase redirect URL โ€” After the first deploy, copy your site URL (e.g. https://your-site.netlify.app). In Supabase: Authentication โ†’ URL Configuration:

- Set Site URL to your Netlify URL (e.g. https://your-site.netlify.app).

- Under Redirect URLs, add https://your-site.netlify.app/confirm (the appโ€™s OAuth callback path).

Without this, Google sign-in will fail on the deployed site.

Dev vs prod

Use separate Supabase projects for development and production.

| Environment | How vars are loaded | Where to set |

|--------------------|------------------------------------------------|---------------------------------------------------|

| Local dev | npm run dev loads .env | .env with dev Supabase URL/key |

| Netlify prod | Build env vars from Netlify UI | Site settings โ†’ Environment variables |

| Local prod preview | npm run preview:prod | .env.production with prod Supabase URL/key |

Netlify does not load .env.production; set NUXT_PUBLIC_SUPABASE_URL and NUXT_PUBLIC_SUPABASE_KEY in Netlifyโ€™s environment variables for production builds.

Supabase project settings (per project):

  • Auth โ†’ Providers: Enable Google OAuth
  • Auth โ†’ URL configuration: Dev โ†’ http://localhost:3000, http://localhost:3000/confirm; Prod โ†’ your Netlify URL and /confirm

Database migrations (Supabase CLI):

```bash

# One-time: link and push (prompts for DB password, or set SUPABASE_DB_PASSWORD)

npm run db:push:dev # push to dev project

npm run db:push:prod # push to prod project

```

For existing projects that already have the schema applied manually, mark the initial migration as applied before pushing:

```bash

supabase link --project-ref

supabase migration repair 20250101000000_initial_schema --status applied

```

Project structure

  • app/ โ€” pages, layouts, components, composables, middleware
  • supabase/schema.sql โ€” reference schema (apply via migrations or SQL editor)
  • supabase/migrations/ โ€” schema migrations for supabase db push