Skip to content

quynhan-tr/dsc-speed-dataing

Β 
Β 

Repository files navigation

DSC Speed Dating

A Next.js web application for managing speed dating events with real-time session control, participant matching, and admin functionality.

Features

  • πŸ“ Participant Registration: Collect participant information through dynamic forms
  • 🎯 AI-Powered Matching: Generate compatible matches using OpenAI integration
  • ⏱️ Session Management: Control event timing and flow in real-time
  • πŸ‘₯ Admin Dashboard: Manage participants, view responses, and control sessions
  • πŸ”’ Secure Admin Access: Two-layer authentication with admin password protection
  • πŸ”„ Real-time Updates: Redis-based session state management with Upstash
  • πŸ’Ύ Database Integration: Supabase for persistent data storage

Tech Stack

  • Framework: Next.js 15 with App Router
  • Language: TypeScript
  • Styling: Tailwind CSS
  • State Management: Redux Toolkit
  • Database: Supabase (PostgreSQL)
  • Cache/Real-time: Upstash Redis
  • AI: OpenAI API
  • Authentication: JWT with jose
  • Deployment: Vercel

Prerequisites

  • Node.js 22.x
  • npm, yarn, pnpm, or bun
  • Supabase account and project
  • Upstash Redis database
  • OpenAI API key

Project Structure

src/
β”œβ”€β”€ app/              # Next.js app router pages and API routes
β”œβ”€β”€ data/             # Static data and configuration
β”œβ”€β”€ hooks/            # Custom React hooks
β”œβ”€β”€ lib/              # Utility libraries and configurations
β”œβ”€β”€ store/            # Redux store and slices
β”œβ”€β”€ utils/            # Helper functions
└── middleware.ts     # Authentication and routing middleware

Available Scripts

# Development server with Turbopack
npm run dev

# Production build
npm run build

# Start production server
npm start

# Run linter
npm run lint

Key Features Explained

Session Management

  • Control event flow (idle, registration, matching, active)
  • Real-time state synchronization via Redis
  • Admin controls for starting/stopping sessions

Matching Algorithm

  • AI-powered compatibility analysis
  • Based on participant responses to questionnaire
  • Generates personalized match suggestions

Security

  • Two-layer admin authentication
  • Row-level security (RLS) on Supabase tables
  • HTTP-only cookies for session management
  • Middleware-based route protection

About

πŸ’“ Match made in heaven

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 99.4%
  • Other 0.6%