SQL Playground

SQL Playground

An interactive SQL learning platform where you can practice queries, tackle challenges, and master database skills through hands-on experience. Built with Next.js 15, TypeScript, and Supabase, this project combines modern web development with practical database education.

🎥 Video Presentation: Watch on YouTube
💻 Code Repository: GitHub Repository


Why I Built This

I wanted to learn SQL but couldn't find a platform that made it fun, interactive, and practical. Most resources were either too theoretical or lacked real-world scenarios. So I created this playground to:

  • 🎓 Learn SQL through hands-on practice with realistic data
  • 🛠️ Master Next.js and modern web development
  • 🔗 Explore Supabase and database integration
  • 🎮 Make learning enjoyable with gamified challenges

Now I'm sharing it so others can learn and have fun too! 🚀


Key Features

🎯 Interactive Learning

  • SQL Editor with syntax highlighting and auto-completion
  • Real-time query execution with instant results
  • 20+ curated exercises from beginner to advanced
  • Database schema explorer to understand table relationships

🎮 Challenge Mode

  • Data quality challenges with intentional errors to find and fix
  • AI-powered challenge generator with custom difficulty levels
  • Realistic scenarios like e-commerce data validation
  • Configurable error rates (2-25%) for progressive difficulty

🛠️ Flexible Database Setup

  • One-click database setup with multiple configurations
  • Realistic datasets with 50-2000+ records
  • Challenge databases with data quality issues
  • Custom configurations for specific learning goals

🎨 Modern UI/UX

  • Clean, responsive design that works on all devices
  • Dark/light mode support
  • Intuitive navigation with tabs and organized sections
  • Real-time feedback and error handling

Tech Stack

Frontend

  • Next.js 15 with React and TypeScript
  • Tailwind CSS for styling
  • shadcn/ui component library
  • CodeMirror with SQL syntax highlighting
  • Lucide React for icons

Backend & Database

  • Supabase (PostgreSQL)
  • Real-time query execution
  • Database schema management
  • Service role authentication
  • Automated data seeding

Learning Path & Challenges

The platform offers a structured learning experience with three difficulty levels:

🟢 Beginner (Start Here!)

  • Basic SELECT queries and filtering
  • Understanding table relationships
  • Simple JOINs and aggregations

🟡 Intermediate (Level Up!)

  • Complex JOINs and subqueries
  • GROUP BY and HAVING clauses
  • Date functions and data analysis

🔴 Advanced (Master Level!)

  • Window functions and CTEs
  • Data quality validation
  • Performance optimization
  • Real-world problem solving

Database Schema

Complete e-commerce database with realistic data relationships:

  • Users - customers with profiles and location data
  • Products - catalog with categories and pricing
  • Orders - purchase history with status tracking
  • Order Items - detailed line items and quantities
  • Countries & Cities - geographic location data

Perfect for learning JOINs, aggregations, and real-world SQL queries!


What I Learned

This project significantly expanded my technical skills and knowledge:

  • Advanced SQL - Complex queries, window functions, CTEs, and performance optimization
  • Database Design - Schema design, relationships, and data modeling
  • Supabase - PostgreSQL integration, real-time features, and service role management
  • Next.js 15 - Latest features, TypeScript integration, and modern React patterns
  • Code Editor Integration - CodeMirror setup with SQL syntax highlighting
  • Data Quality - Implementing validation challenges and error detection
  • Educational UX - Designing progressive learning experiences

Source Code

Back to Projects