DevOdos is an intelligent learning platform that creates personalized, interactive roadmaps for developers at any stage of their journey. Whether you're a complete beginner or a seasoned professional exploring new technologies, DevOdos provides structured, comprehensive learning paths tailored to your specific goals.
- 🤖 AI-Powered Roadmaps - Advanced AI generates comprehensive, personalized learning paths
- 🎨 Interactive Visualizations - Beautiful roadmap.sh-style interactive learning maps
- 📊 Progress Tracking - Real-time analytics and milestone celebrations
- 📚 Comprehensive Resources - Curated free and premium learning materials
- 📱 Responsive Design - Perfect experience across all devices
- 📄 PDF Export - Download roadmaps for offline study
- 🔐 Secure Authentication - User accounts with progress persistence
- 🌐 Modern Tech Stack - Built with React, TypeScript, Python, and Supabase
- React 18 with TypeScript
- Tailwind CSS for styling
- Vite for build tooling
- Lucide React for icons
- React Router for navigation
- Python Flask REST API
- Groq AI for roadmap generation
- Supabase for database and authentication
- CORS enabled for cross-origin requests
- PostgreSQL via Supabase
- Row Level Security (RLS) enabled
- Real-time subscriptions support
- Groq LLaMA 3 70B for content generation
- Advanced JSON parsing with fallback strategies
- Robust error handling and content validation
- Python 3.8+
- Node.js 16+ and npm
- Supabase Account (free tier available)
- Groq API Key (free tier available)
git clone https://github.com/yourusername/devodos.git
cd devodos# Create virtual environment
python -m venv venv
# Activate virtual environment
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt# Install Node.js dependencies
npm install
# Build the frontend
npm run build# Copy environment template
cp .env.example .env
# Edit .env with your credentials
nano .envRequired Environment Variables:
# Supabase Configuration
VITE_SUPABASE_URL=your_supabase_project_url
VITE_SUPABASE_ANON_KEY=your_supabase_anon_key
# AI Configuration
GROQ_API_KEY=your_groq_api_key
# Flask Configuration
SECRET_KEY=your_secret_key
FLASK_ENV=developmentThe database schema is automatically managed through Supabase migrations. Simply ensure your Supabase project is configured with the provided migration files.
# Start the Flask server
python app.py
# The application will be available at http://localhost:5000# Terminal 1: Start Flask backend
python app.py
# Terminal 2: Start Vite dev server (optional)
npm run dev# Build frontend for production
npm run build
# Start production server
python app.pyPOST /signup- User registrationPOST /login- User authentication
POST /generate-roadmap- Generate AI-powered roadmapPOST /user-roadmaps- Get user's roadmapsGET /api/roadmap/<id>- Get specific roadmap
GET /explain-topic- Get detailed topic explanationsGET /generate-quiz- Generate topic-based quizzes
GET /health- Application health status
- Multi-Strategy JSON Parsing - Handles malformed AI responses
- Fallback Content Generation - Ensures users always get quality roadmaps
- Technology-Specific Customization - Adapts to chosen programming languages
- Progressive Difficulty Levels - From Foundation to Expert
- Visual Progress Tracking - Real-time completion statistics
- Expandable Node Structure - Detailed subtopic exploration
- Topic Deep-Dives - Comprehensive explanations with resources
- PDF Export Functionality - Offline study materials
- Password Hashing - SHA-256 encryption
- Session Management - Persistent login state
- Row Level Security - Database-level access control
- Input Validation - Comprehensive data sanitization
- Set up Supabase project
- Configure environment variables
- Deploy to your preferred platform (Heroku, DigitalOcean, AWS, etc.)
- Enable HTTPS in production
- Configure proper CORS settings
- Set up monitoring and logging
- Implement rate limiting for API endpoints
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Python: Follow PEP 8 guidelines
- TypeScript/React: Use ESLint configuration
- Commits: Use conventional commit messages
This project is licensed under the MIT License - see the LICENSE file for details.
- Groq for providing powerful AI capabilities
- Supabase for backend infrastructure
- React Community for excellent tooling
- 🐦 Twitter: @DevOdos
- ✅ AI-powered roadmap generation
- ✅ Interactive progress tracking
- ✅ PDF export functionality
- ✅ User authentication
- ✅ Topic explanations
- 🔄 Social learning features
- 🔄 Advanced analytics dashboard
- 🔄 Mobile app development
- 🔄 Integration with coding platforms
- 🔄 Mentor matching system
- 🔮 AI-powered code review
- 🔮 Real-time collaboration
- 🔮 Corporate team features
- 🔮 Advanced skill assessments
- 🔮 Industry certification paths
Made with ❤️ by the DevOdos Team