Common questions about DevBoot LLM - a coding education platform with 2,107 verified lessons.
- Getting Started
- Deployment
- Using the Platform
- Lessons and Content
- Code Execution
- AI Features
- Contributing
- Troubleshooting
- Technical Questions
DevBoot LLM is an open-source coding education platform with 2,107 verified lessons covering Python and Java. Every lesson includes:
- Interactive code editor
- Detailed tutorials
- Working code examples
- Real-time code execution
- Optional AI assistance
- Self-learners: Learn programming fundamentals at your own pace
- Bootcamp students: Supplement your curriculum with hands-on practice
- Teachers: Deploy for your students in a controlled environment
- Companies: Use for employee training and onboarding
It's completely free! This is an open-source project. You can:
- Use it for free online (when available)
- Self-host it for free
- Modify it for your needs
- Deploy it in your organization
No subscriptions, no hidden costs, no account required.
To use the platform:
- Web browser (Chrome, Firefox, Safari, Edge)
- Internet connection (or local deployment)
To self-host:
- Docker (recommended) OR
- Node.js 18+ and Python 3.12+ and Java 17+
Option 1: Docker (Recommended)
git clone https://github.com/undergroundrap/devbootLLM-app.git
cd devbootLLM-app
docker build -t devboot-llm .
docker run -p 3000:3000 devboot-llmVisit http://localhost:3000
Option 2: Manual Setup
git clone https://github.com/undergroundrap/devbootLLM-app.git
cd devbootLLM-app
npm install
npm startRequirements:
- Node.js 18+
- Python 3.12+
- Java 17+
Yes! The platform is designed to be self-hosted. You can:
- Deploy on internal servers
- Use behind a firewall
- Run completely offline
- Customize for your needs
No external services required (except optional AI features).
Yes! Once deployed, the platform works completely offline:
- All lessons are local
- Code execution is local
- No external API calls (except optional AI)
Perfect for:
- Corporate environments with restricted internet
- Classroom settings
- Areas with limited connectivity
- Privacy-conscious deployments
git pull origin main
npm install
docker build -t devboot-llm . # If using Docker
npm start # Or restart Docker container- Visit the platform (local or online)
- Select Python or Java
- Choose a lesson category
- Pick a lesson based on difficulty
- Read the tutorial
- Write code in the editor
- Click "Run Code" to test
- Submit when your output matches expected output
Currently: Progress tracking is manual - you remember which lessons you've completed.
Coming soon:
- Mark lessons as complete
- Track completion percentage
- "Continue where you left off"
- Learning streaks
- Category completion stats
See CHANGELOG.md for planned features.
Currently: Code is saved in your browser's local storage temporarily. Refreshing the page clears it.
Workaround: Copy your code to a text editor or IDE to save it permanently.
Coming soon: User accounts with code persistence (optional feature).
Currently: Browse by category and difficulty.
Coming soon:
- Full-text search
- Filter by keywords, tags, difficulty
- Search suggestions
- "Most popular" and "Recommended for you"
Partially. The platform works on mobile browsers but the experience is optimized for desktop.
Limitations:
- Code editor is small on phones
- Keyboard typing can be awkward
- Layout not fully responsive
Coming soon: Mobile-optimized experience with touch-friendly controls.
2,107 verified lessons:
- 1,030 Python lessons
- 1,077 Java lessons
100% working - Every lesson compiles and runs correctly.
Python (1,030 lessons):
- Core fundamentals
- Object-oriented programming
- Web development (Flask, Django, FastAPI)
- Asynchronous programming
- Data science (pandas, NumPy, scikit-learn)
- Database (SQLAlchemy)
- Testing (pytest)
- DevOps and deployment
Java (1,077 lessons):
- Core fundamentals
- Object-oriented programming
- Spring Boot (REST APIs, MVC)
- Spring Security (authentication, JWT)
- Spring Data (JPA, Hibernate)
- Spring Cloud (microservices)
- Reactive programming (WebFlux)
- Testing (JUnit, Mockito)
- Advanced features (reflection, streams, generics)
- Beginner: First steps, basic syntax
- Intermediate: Combining concepts, frameworks
- Advanced: Complex patterns, architecture
- Expert: Optimization, advanced topics
Yes! Lessons use:
- Python 3.12+
- Java 17+
- Current framework versions (Spring Boot 3.x, etc.)
Yes! See CONTRIBUTING.md for how to:
- Propose new lesson topics
- Submit lesson contributions
- Improve existing lessons
Python:
- Runs in a containerized Python 3.12 environment
- Uses
exec()to execute your code - Captures stdout and stderr
- 30-second timeout per execution
Java:
- Compiles with
javac(Java 17) - Runs with
javacommand - Captures output
- 30-second timeout per execution
Common reasons:
- Syntax errors: Check for typos, missing colons, unmatched brackets
- Runtime errors: Division by zero, null pointers, etc.
- Infinite loops: Code times out after 30 seconds
- Wrong output: Output must match expected output EXACTLY
- Docker not running: If self-hosting, ensure Docker is running
Debugging tips:
- Read error messages carefully
- Use print statements to debug
- Compare with tutorial examples
- Check expected output format (including newlines)
Output must match EXACTLY, including:
- Case sensitivity ("hello" ≠ "Hello")
- Spacing
- Newlines (
\n) - Punctuation
Example:
Expected: "Hello, World!\n"
Your output: "Hello World" ❌ Missing comma and newline
Your output: "Hello, World!\n" ✅ Exact match
Standard libraries: Yes, all standard library modules/packages work.
External packages: Limited to pre-installed packages:
Python:
- Flask, Django, FastAPI
- pandas, NumPy, scikit-learn
- SQLAlchemy, psycopg2
- pytest, requests
- boto3 (AWS SDK)
Java:
- Spring Boot ecosystem
- JUnit, Mockito
- Jackson, Lombok
- Common Apache libraries
Want to add a package? See CONTRIBUTING.md or open an issue.
Yes. Code runs in:
- Docker containers (isolated from host)
- Limited resource allocation
- 30-second timeout
- No file system access outside container
- No network access (except for web framework lessons)
However: This is a learning platform, not a production environment. Don't use it to run untrusted code from others.
AI features are optional and require either:
-
Ollama (local AI)
# Install Ollama curl -fsSL https://ollama.ai/install.sh | sh # Pull a model ollama pull codellama # Configure in platform Set OLLAMA_URL environment variable
-
LM Studio (local AI)
- Install LM Studio
- Load a coding model
- Start API server
- Configure platform endpoint
No! AI is completely optional. The platform works perfectly without it:
- All lessons are complete
- Tutorials explain everything
- Code examples are provided
- Solutions are available
AI just provides additional hints if you get stuck.
- Explain error messages
- Suggest debugging steps
- Provide alternative approaches
- Answer questions about concepts
AI does NOT:
- Give you the complete solution
- Do the lesson for you
- Track your progress
No! If you use local AI (Ollama/LM Studio), everything stays on your machine.
No external API calls means:
- Your code stays private
- Works offline
- No API costs
- Complete privacy
Many ways to help:
- Add lessons: Create new Python or Java lessons
- Improve content: Fix typos, clarify tutorials
- Fix bugs: Report or fix issues
- Add features: Progress tracking, search, etc.
- Improve documentation: Help others understand the project
See CONTRIBUTING.md for detailed guidelines.
No! Just:
- Fork the repository
- Make your changes
- Test thoroughly
- Submit a pull request
All contributions are reviewed and welcomed.
See the Adding New Lessons section in CONTRIBUTING.md.
Quick summary:
- Add lesson JSON to
public/lessons-python.jsonorpublic/lessons-java.json - Ensure code compiles and runs
- Verify expected output
- Write clear tutorial
- Test in the app
- Submit PR
Please report it!
- Open a GitHub Issue
- Include:
- Lesson ID and title
- What's wrong
- Expected vs actual behavior
- Screenshots if helpful
Or fix it yourself and submit a PR!
Docker:
# Check if Docker is running
docker ps
# Check logs
docker logs <container_id>
# Rebuild
docker build -t devboot-llm .Manual setup:
# Check Node.js version
node --version # Should be 18+
# Check Python version
python --version # Should be 3.12+
# Check Java version
java -version # Should be 17+
# Reinstall dependencies
rm -rf node_modules
npm installCheck:
- Browser console for errors (F12 → Console)
- Network tab for failed requests
- Ad blocker isn't blocking resources
- Try different browser
Check:
-
Code compiles locally first
# Python python -c "exec('''your code here''')" # Java javac Main.java && java Main
-
Expected output is correct
-
No infinite loops
-
Syntax is valid
Common issues:
- Insufficient disk space: Free up space
- Docker daemon not running: Start Docker
- Port 3000 in use: Change port or stop other service
- Network issues: Check internet connection
# Use different port
docker run -p 8080:3000 devboot-llmCheck:
- Browser cache - try hard refresh (Ctrl+F5)
- JSON syntax - ensure lessons file is valid JSON
- Browser console for errors
- Try different lesson to isolate issue
Backend:
- Node.js + Express.js
- SQLite database (JSON fallback)
- Child process for code execution
Frontend:
- Vanilla JavaScript
- Tailwind CSS
- No framework (lightweight, fast)
Code Execution:
- Python 3.12
- Java 17
- Docker containerization
Possible, but requires development. You could:
- Embed in iframe (limited)
- Use as content source
- Fork and customize
- Build API integration
No built-in LTI or LMS support currently. See CHANGELOG.md for planned API features.
// Simplified validation flow
1. User submits code
2. Server executes code in container
3. Captures output
4. Compares to expectedOutput
5. Returns success/failure + actual outputYes! Fork the project and modify:
public/index.html- Main UIpublic/styles.css- Custom styles (in addition to Tailwind)- Frontend JavaScript files
Lessons: public/lessons-python.json, public/lessons-java.json
User progress: Currently browser localStorage (temporary)
Database: SQLite at coding-platform.db (created on first run)
Lessons:
cp public/lessons-python.json backup/
cp public/lessons-java.json backup/Database:
cp coding-platform.db backup/Docker volumes:
docker cp <container_id>:/app/coding-platform.db backup/Yes! You'll need to:
- Create
lessons-<language>.json - Add execution logic in
server.js - Update frontend language selector
- Test thoroughly
Pull requests welcome! See CONTRIBUTING.md.
- General questions: GitHub Discussions
- Bug reports: GitHub Issues
- Documentation: README.md
- Contributing: CONTRIBUTING.md
Happy learning! 🚀