Before you begin, ensure you have the following installed:
- Node.js (v18 or higher) - Download here
- npm or yarn package manager
- Git - Download here
- A Supabase account (free tier works!) - Sign up here
git clone <your-repo-url>
cd debugg-quest-adventurenpm install
# or
yarn install- Go to Supabase Dashboard
- Click "New Project"
- Fill in your project details
- Wait for the project to be created
- Go to Project Settings โ API
- Copy your:
- Project URL
anonpublic key
- In your Supabase project, go to the SQL Editor
- Run the following migration files in order:
supabase_migration_challenges.sql(creates challenges table)supabase_migration_more_badges.sql(creates badges system)
Create a .env file in the root directory:
VITE_SUPABASE_URL=your_supabase_project_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_keyReplace the values with your actual Supabase credentials.
npm run dev
# or
yarn devThe app will be available at http://localhost:5173
- Navigate to the Auth page
- Click "Sign Up"
- Enter your email, password, and username
- Check your email for confirmation
- Once confirmed, sign in!
- Language Selection: Choose from Python, JavaScript, C++, or Java
- Level Map: Navigate through debugging challenges
- Code Editor: Fix bugs with syntax highlighting
- Teacher Avatar: Learn concepts through animated stories
- Profile: Track your progress and badges
- Leaderboard: Compete with other debuggers
# Start development server
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview
# Run linter
npm run lintdebugg-quest-adventure/
โโโ src/
โ โโโ components/ # React components
โ โ โโโ ui/ # shadcn/ui components
โ โ โโโ AvatarMascot.tsx
โ โ โโโ TeacherAvatar.tsx
โ โ โโโ SpaceBackground.tsx
โ โ โโโ ...
โ โโโ pages/ # Page components
โ โ โโโ Auth.tsx
โ โ โโโ LanguageSelect.tsx
โ โ โโโ LevelMap.tsx
โ โ โโโ LevelPlay.tsx
โ โ โโโ ...
โ โโโ lib/ # Utility functions
โ โโโ integrations/ # Supabase integration
โ โโโ data/ # Static data
โ โโโ main.tsx # Entry point
โโโ public/ # Static assets
โโโ supabase_migration_*.sql # Database migrations
โโโ ...
- Animated wormhole background on Auth page
- Space battle backgrounds
- Floating planets with orbiting text
- Retro space invaders mini-game
- Star Wars-inspired background music
- Sound effects for interactions
- Voice synthesis for feedback
- Ambient music toggle
- Animated story-based concept teaching
- Character-driven narratives
- Visual code examples
- Progressive difficulty
- XP and leveling system
- 60+ unique badges
- Streak tracking
- Global leaderboard
- Performance analytics
- Syntax highlighting
- Real-time validation
- Hint system
- Multiple language support
If port 5173 is already in use:
npm run dev -- --port 3000- Verify your
.envfile has correct credentials - Check if your Supabase project is active
- Ensure you've run all database migrations
- Check browser console for specific errors
# Clear cache and reinstall
rm -rf node_modules
rm package-lock.json
npm install- Click the ambient music toggle button
- Check browser console for audio context errors
- Some browsers require user interaction before playing audio
- Ensure your browser supports Web Audio API
Contributions are welcome! Please feel free to submit a Pull Request.
This project is open source and available under the MIT License.
Embark on your debugging adventure through space! Fix bugs, earn badges, and become a master debugger!
Need help? Check the other documentation files:
SUPABASE_SETUP.md- Detailed Supabase configurationFEATURES.md- Complete feature listQUICKSTART.md- Quick reference guide
Happy Debugging! ๐๐