An interactive, story-driven adventure designed to help players master SQL in a fun and immersive way.
Stranded on the mysterious Data Isles, you must write queries to survive, gather resources, and uncover the secrets of the ancients.
"You awaken on the wet sands of the Data Isles โ a forgotten land ruled by logic and syntax.
The only tool you possess is an ancient slate glowing with code.
To survive, you must master SQL, uncover the truth of the island, and query your way to freedom."
- ๐ง Interactive SQL Practice Engine: Real-time query editor with data visualization and live syntax feedback.
- ๐จ Modern UI: Sleek dark interface with Tailwind, animations, and responsive layout.
- โก Instant Query Validation: Query results rendered dynamically via SQL.js.
- ๐บ๏ธ World Map: Unlock new islands and progressive learning zones.
- ๐งพ Lessons & Quests: Over 50 guided missions with tiered difficulty.
- ๐พ Auto Progress Save: Player progress stored locally with resume capability.
- ๐งฉ Query Execution Order Visualization: Interactive guide showing how SQL queries are executed step-by-step.
A beautifully animated landing experience introducing the Data Isles world.

A dynamic environment where players execute live SQL queries and view real-time results.

Visual progression system showing player advancement across different regions.

The gameplay core โ receive tasks, execute SQL commands, and view interactive outputs.

- ๐๏ธ 3 Story Zones: Progress from The Beach to The Jungle and finally The Ruins.
- ๐งฉ Challenge Missions: Unlockable tasks with increasing complexity.
- ๐ฌ Real-Time Feedback: Instant query validation and error suggestions.
- ๐ Gamified Learning: Earn badges, progress levels, and leaderboard ranks.
- ๐ View global accuracy, query performance, and personal progression metrics.
- ๐ Track lesson completion times and learning milestones.
- Dark glassmorphism UI with smooth transitions.
- Built using Framer Motion for immersive animations.
- Fully responsive layout optimized for mobile and desktop.
| Zone | Environment | Levels | Concepts Mastered |
|---|---|---|---|
| ๐๏ธ The Beach | Beginner Zone | 15 | SELECT, WHERE, ORDER BY, LIMIT |
| ๐ฟ The Jungle | Intermediate Zone | 20 | JOIN, GROUP BY, HAVING, Aggregates |
| ๐๏ธ The Ruins | Advanced Zone | 15 | Subqueries, CTEs, Window Functions |
| Layer | Technology |
|---|---|
| Frontend | React 19, Tailwind CSS, Radix UI, SQL.js, Zustand |
| Backend | FastAPI (Python), Uvicorn |
| Database | MongoDB (Local/Atlas) |
| Styling & Animation | Tailwind CSS, Framer Motion |
| Testing | Jest, Pytest |
| Deployment | Vercel (Frontend) & Render/Heroku (Backend) |
Ensure you have:
- Node.js โฅ 16.x
- Python โฅ 3.8
- MongoDB (Local or Cloud Instance)
# Clone the repository
git clone <your-repo-url>
cd sql-survivalcd ../frontend
npm install
cp env_frontend.txt .env
npm start
Environment Variablescd backend
python -m venv venvvenv\Scripts\activate
### macOS/Linux
source venv/bin/activate
pip install -r requirements.txt
cp env_backend.txt .env
uvicorn server:app --reload --host 0.0.0.0 --port 8000MONGODB_URL=mongodb://localhost:27017/sql_survival
SECRET_KEY=your_secret_key_hereREACT_APP_API_URL=http://localhost:8000# Backend tests
cd backend && pytest
# Frontend tests
cd frontend && npm test