Skip to content

Repository files navigation

Pinza (Pinterest-like)

Next.js App Router + Supabase Auth + Postgres + Storage + Sightengine + public feed.

Setup

  1. Create a free project at supabase.com.
  2. cp .env.local.example .env.local and fill keys.
  3. Run migrations in order in the SQL Editor:
    • 001_phase1_core_schema.sql
    • 002_phase2_storage_bucket.sql
    • 003_phase3_moderation.sql
    • 004_phase4_feed_search.sql
  4. Storage + Sightengine + ADMIN_USER_IDS as in earlier phases.
  5. npm install && npm run dev

Phase 4 test checklist

  • Home / masonry loads a first batch; scrolling near the bottom loads more (Network: /api/feed?offset=…)
  • Only approved images appear (a pending/review row never shows in the feed)
  • /search?q=<username> returns matching approved pins
  • Click a pin → /images/<id> shows image + uploader; save to board works when logged in

Image serving note

Free plan has no Supabase image transforms — see docs/image-serving.md. We serve signed originals with responsive sizes. Ranking is newest-first only (no recommendations yet). "# pinza" "# pinza"

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages