A modern web application for tracking your knitting projects, patterns, yarn stash, and progress.
- 📝 Create and manage knitting projects
- 🧶 Track yarn details (brand, colorway, weight, fiber content)
- 🪡 Record needle information (size, type, length)
- 🎨 Add tags to organize projects
- 📸 Upload progress and final project photos
- 🔗 Scrape pattern information from Ravelry links
- 📊 View projects in list or Kanban board format
- 🔍 Search, filter, and sort your projects
- 🎯 Track project status (Idea, Planned, Queued, Completed)
- Frontend: Next.js 14 (App Router), TypeScript, React, Tailwind CSS
- UI Components: shadcn/ui with custom design system
- Backend: Next.js API routes
- Database: Supabase (PostgreSQL)
- Storage: Supabase Storage for photos
- Drag & Drop: @dnd-kit for Kanban board
- Primary Color: #0DC1D1 (teal)
- Warning Color: #E82103 (red)
- Typography:
- Headings: Playfair Display (serif)
- Body: Roboto (sans-serif)
- Border Radius: Generous rounded corners (14px)
- Node.js 18+
- npm or yarn
- A Supabase account and project
- Clone the repository:
git clone <your-repo-url>
cd stitch-log- Install dependencies:
npm install- Set up environment variables:
- Create a
.env.localfile in the root directory - Add your Supabase credentials:
- Create a
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
-
Set up your Supabase database:
- Go to your Supabase project dashboard
- Navigate to the SQL Editor
- Run the migration file located at
supabase/migrations/001_initial_schema.sql - Create a storage bucket named
project-photoswith public access - See
SUPABASE_SETUP.mdfor detailed instructions
-
(Optional) Set up Ravelry API for pattern import:
- See
RAVELRY_API_SETUP.mdfor instructions - Get your API credentials from Ravelry Pro Developer
- Add credentials to your
.env.localfile
- See
-
Run the development server:
npm run dev- Open http://localhost:3000 in your browser
The application uses the following tables:
projects- Main project informationpatterns- Linked patterns (from Ravelry or manual entry)yarns- Yarn details for each projectneedles- Needle information for each projecttags- Project tags for organizationproject_tags- Junction table for many-to-many relationshipphotos- Project photos stored in Supabase Storage
# Run development server
npm run dev
# Build for production
npm run build
# Start production server
npm start
# Run linting
npm run lint- Go to your Supabase project dashboard
- Navigate to Storage
- Create a new bucket called
project-photos - Set the bucket to public access
- Configure the following storage policies:
- Allow INSERT for authenticated users
- Allow SELECT for everyone (public read)
- Allow DELETE for authenticated users
- User authentication
- Project sharing
- Export project data
- Pattern library integration with Ravelry API
- Advanced filtering and sorting options
- Project statistics and analytics
- Getting Started Guide - Step-by-step user guide
- Supabase Setup - Database configuration
- Ravelry API Setup - Pattern import setup
- Quick Reference - Developer reference
- Project Summary - What was built
MIT