Next.js dashboard for TUM Blockchain Club membership operations.
- Next.js App Router
- React
- TypeScript
- pnpm
- shadcn/ui components in
components/ui - Supabase Auth, Postgres, and Storage
Install dependencies:
pnpm installCreate .env.local with:
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_SERVICE_ROLE_KEY=
DATABASE_URL=Run the dev server:
pnpm devOpen http://localhost:3000.
The root route redirects authenticated users to /dashboard and unauthenticated users to /signin.
pnpm exec tsc --noEmit
pnpm lint
pnpm buildThe current Supabase schema is documented in:
docs/database/schema.md
Supabase SQL scripts live in:
supabase/events_external_metadata.sqlsupabase/event_interest.sqlsupabase/nft_requests.sql
Supabase operational notes live in:
supabase/README.md
Use the reusable CSV importer:
pnpm exec node scripts/import-external-events-csv.mjs --file=/absolute/path/events.csv --months-back=1The Events page defaults to future events plus events from the last seven days. The Past Events toggle reveals older stored events.
docs/database/schema.md: canonical database schema overview.docs/maintenance/: implementation and maintenance notes.docs/migration/: shadcn/UI migration planning notes.AGENTS.md: repo-specific instructions for future coding agents.