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