Skip to content

Repository files navigation

Needle Search Open Decks Scheduler

A scheduling web app built for the Needle Search DJ collective, used to manage open deck event sign-ups and availability. Live and in production.

Note: This repository was migrated from a private organization repo.


Tech Stack

Layer Technology
Frontend React 19, TypeScript
Routing React Router v7
State / Data Fetching TanStack Query v5
UI Components Radix UI
Backend / Database Supabase (PostgreSQL)
Edge Functions Supabase Edge Functions (Deno)
Build Tool Vite
Deployment Netlify

Features

  • Browse upcoming open deck events
  • Event sign-up form — artist alias, DJ media, time slot availability, set description, contact info
  • Pre-registration form for interest before full sign-ups open
  • Confirmation pages after each submission
  • Add-to-calendar support (Google, Apple, Outlook)
  • Server-side submission handling via Supabase Edge Functions (Deno)
  • Auto-generated TypeScript types from the live Supabase schema

Architecture

src/
├── features/events/     # Event pages, components, hooks
├── components/          # Shared UI components
├── contexts/            # React context providers
├── hooks/               # Shared custom hooks
├── types/               # Generated Supabase DB types
└── utils/               # Helpers and utilities

supabase/
├── functions/           # Edge Functions (Deno runtime)
│   ├── sign-up-for-event/
│   └── pre-register-for-event/
└── migrations/          # SQL migration history

Local Development

Prerequisites

  • Node.js (recommend NVM for version management)
  • Supabase CLI (optional, for local Supabase or type generation)

Environment Variables

Create a .env.development file in the project root with the required Supabase keys:

VITE_SUPABASE_URL=...
VITE_SUPABASE_ANON_KEY=...

Install & Run

npm install
npm run dev

The dev server URL is printed in the terminal output.

Other Scripts

npm run build       # Production build
npm run lint        # ESLint
npm run types       # Regenerate TS types from linked Supabase project
npm run local-types # Regenerate TS types from local Supabase instance

Deployment

Deployed on Netlify with continuous deployment from main. Build command: npm run build, publish directory: dist. SPA redirects configured in netlify.toml.

Supabase Edge Functions are deployed separately via the Supabase CLI.

About

An event-tracking and scheduling tool for the Chicago-based DJ collecting Needle Search.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages