Master Data Structures & Algorithms through first-principles thinking
KodeBlocks is an open-source, gamified learning platform designed to help students master DSA through structured learning paths, consistent practice, and community collaboration.
Our mission is to cultivate a strong, collaborative coding culture.
We believe in understanding concepts from the ground up. Our learning tracks build intuition, not just pattern recognition.
Learning DSA is hard, and it's better together. KodeBlocks features community events, leaderboards, and collaborative problem-solving.
Curated, high-quality learning paths that genuinely prepare students for success—not thousands of random problems.
Built by students, for students. A FOSS project welcoming all contributors.
- 📚 Structured Learning Tracks - Curated paths for Foundations, Interview Prep, Deep Dives, and Problem Solving
- 🎮 Gamification - Earn badges, maintain weekly streaks, and track progress
- 🏆 Leaderboards - Friendly competition to stay motivated
- 📊 Personal Dashboard - Visualize your progress and achievements
- 🎯 Weekly Challenges - Earn 5+ points per week to maintain streaks
- 👤 Profile System - Track solved problems by difficulty and earn achievements
| Category | Technology |
|---|---|
| Framework | SvelteKit |
| Runtime | Bun |
| Backend & Auth | Supabase |
| Database | PostgreSQL (via Supabase) |
| Styling | Tailwind CSS v4 |
| Icons | Lucide Svelte |
| Deployment | Vercel |
- Bun (v1.0+) - Install Bun
- Supabase Account - Sign up for free
# 1. Clone the repository
git clone https://github.com/rahulrr-coder/kodeblocks.git
cd kodeblocks
# 2. Install dependencies
bun install
# 3. Set up environment variables
cp .env.example .env
# Edit .env and add your Supabase credentials:
# VITE_SUPABASE_URL=your_project_url
# VITE_SUPABASE_ANON_KEY=your_anon_key
# 4. Run database migrations
# Go to your Supabase dashboard > SQL Editor
# Run the SQL from database/schema.sql
# 5. Start development server
bun run devYour app will be running at http://localhost:5173/ 🎉
KodeBlocks follows clean architecture principles with a layered design:
- Routes - Thin routing layer (3-5 lines per file)
- Features - Page composition and UI logic
- Components - Reusable UI elements organized by feature
- Services - Business logic and data transformations
- API - Database queries and external API calls
For detailed architecture documentation, see ARCHITECTURE.md
- 📚 Structured Learning Tracks - Curated paths for Foundations, Interview Prep, Deep Dives, and Problem Solving
- 🎮 Gamification - Earn points, badges, and maintain weekly streaks
- 🏆 Leaderboards - Global and weekly rankings to stay motivated
- 📊 Personal Dashboard - Visualize progress and achievements
- 👤 Profile System - Track your DSA journey
We welcome contributions! Please read our CONTRIBUTING.md for guidelines.
Quick Steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- ARCHITECTURE.md - Comprehensive architecture guide with code examples
- CONTRIBUTING.md - Contribution guidelines and best practices
- CODE_OF_CONDUCT.md - Community guidelines and standards
This project is licensed under the MIT License. See the LICENSE file for details.
- Kalvium Students - For inspiring this project
- SvelteKit Team - For an amazing framework
- Supabase Team - For the best backend platform
- Bun Team - For blazing-fast tooling
- All Contributors - For making this project better
- Issues - GitHub Issues
- Discussions - GitHub Discussions
Made with ❤️ by students, for students