Rate, rank, and review tinned fish. Host blind tastings with friends.
- Frontend: Next.js (App Router) + Tailwind CSS + shadcn/ui
- Backend/DB: Supabase (PostgreSQL + Auth + Realtime + Storage)
- Hosting: Vercel
- Clone the repo and install dependencies:
git clone https://github.com/ember1050/TinnedFishTasting.git
cd TinnedFishTasting
npm install-
Create a Supabase project at supabase.com and run the migrations in
supabase/migrations/in order. -
Copy
.env.exampleto.env.localand fill in your Supabase credentials:
cp .env.example .env.local- Run the dev server:
npm run devOpen http://localhost:3000.
src/
├── app/ # Next.js App Router pages
├── components/ # Reusable UI components
├── hooks/ # Custom React hooks
└── lib/ # Utilities, Supabase clients, types
supabase/
└── migrations/ # SQL migration files (version-controlled schema)
Migrations are in supabase/migrations/ and should be applied in order:
001_fish.sql— Fish product catalog002_profiles.sql— User profiles with RLS003_reviews.sql— Review system with RLS004_tastings.sql— Tasting events, participants, blind responses