This directory contains comprehensive documentation for the SQL Adventure project.
- Project Overview - Main project README
- Learning Path - Complete learning guide with prerequisites and use cases
- Cheatsheets - Cheatsheets for available quests
- Run Examples - How to run examples with troubleshooting
- Output Validation - Validate SQL script outputs against expected results
- Data Modeling - Understand database design and relationships
- Performance Tuning - Write efficient, scalable queries
- Window Functions - Advanced analytics and ranking operations
- JSON Operations - Modern PostgreSQL data handling
- Recursive CTEs - Master hierarchical data and complex iterations
- Real-world Applications - Solve practical business problems
- Start with the Data Modeling Cheatsheet - Database design patterns
- Practice with examples - Run any of the 80 working examples
- Master patterns - Understand database design, optimization, and analytics
- Follow the Learning Path - Structured progression from Data Modeling to Recursive CTEs
- Explore by category - Choose your focus area (data modeling, performance tuning, analytics, etc.)
- Apply to your industry - See industry use cases in the Learning Path
- Run examples - Use Run Examples to execute with full output
- 80 Working Examples - 100% tested and verified
- 5 Major Quests - Data Modeling (15) + Performance Tuning (15) + Window Functions (18) + JSON Operations (12) + Recursive CTE (20)
- 100% Idempotent - Safe to run multiple times
- Docker Ready - Easy setup and deployment
- Industry Focused - Real-world business applications
- Conceptual Learning - Logical progression from foundation to advanced patterns
- PostgreSQL 15 - Primary database engine
- pgAdmin 4 - Web-based administration tool
- Docker & Docker Compose - Containerization and orchestration
- SQL - Standard SQL with PostgreSQL extensions
- Bash - Automation and utility scripts
- Markdown - Documentation and guides
scripts/evaluator/task_runner.sh- Unified interface for all operations (setup, evaluation, validation)scripts/evaluator/setup_wizard.py- Interactive configuration setupscripts/commit.sh- Simplified git workflow
# Interactive setup wizard
./scripts/evaluator/task_runner.sh setup
# Start database
./scripts/evaluator/task_runner.sh docker-up
# Initialize database
./scripts/evaluator/task_runner.sh init-db# Evaluate entire quest
./scripts/evaluator/task_runner.sh evaluate quests/1-data-modeling
# Evaluate single file
./scripts/evaluator/task_runner.sh evaluate quests/1-data-modeling/01-basic-table.sql
# Basic validation only
./scripts/evaluator/task_runner.sh basic file.sql# Run tests
./scripts/evaluator/task_runner.sh test
# Clean cache
./scripts/evaluator/task_runner.sh clean
# View logs
./scripts/evaluator/task_runner.sh logsWe welcome contributions! Here's how you can help:
- Use the GitHub issue tracker
- Provide detailed reproduction steps
- Include environment information
- Describe the feature clearly
- Explain the use case
- Suggest implementation approach
- Improve existing documentation
- Add new examples
- Create tutorials and guides
- Follow existing code style
- Use
scripts/evaluator/task_runner.sh basicfor SQL validation - Use
scripts/commit.shfor git workflow - Update documentation
- GitHub Issues - For bugs and feature requests
- Documentation - Check the quest-specific README files
- Community - Join our discussions and share your experiences
- PostgreSQL Community - For the excellent database engine
- Docker Team - For containerization technology
- SQL Community - For sharing knowledge and best practices