Transform your career journey with cutting-edge AI that creates personalized learning paths tailored to your goals!
Features โข Quick Start โข Documentation โข Contributing
| Feature | Description |
|---|---|
| ๐ Course Database | 165+ curated courses across 18 categories |
| ๐ค AI Algorithms | Dijkstra, A*, BFS pathfinding + MEU, Minimax strategies |
| โก Performance | Response caching, rate limiting, performance monitoring |
| ๐ Security | CORS protection, input validation, rate limiting |
| ๐ฑ UI/UX | Responsive design, interactive visualizations |
| ๐งช Testing | 18 tests, 95%+ coverage |
| ๐ Documentation | Complete API docs, contribution guidelines |
Our platform uses advanced AI algorithms to revolutionize how professionals plan and execute their career development. Whether you're looking to switch careers, advance in your current field, or acquire new skills, our intelligent system guides you every step of the way.
๐ Real-World Use Cases
From Marketing to Data Science? We'll show you exactly which courses to take and in what order, considering your existing skills.
Example Path:
Marketing Basics โ Statistics โ Python Basics โ Data Analysis โ Machine Learning
Estimated time: 6-8 months
Already a developer? Advance to senior roles with targeted skill development.
Example Path:
Web Development โ Cloud Computing โ DevOps โ System Architecture
Estimated time: 4-6 months
Exploring new domains? Get personalized recommendations based on your learning style.
Example Path:
Design Basics โ UI/UX Design โ Figma Mastery โ Design Systems
Estimated time: 3-4 months
- Goal-Based Agents: Find the most efficient routes to your learning objectives using Dijkstra's, A*, and BFS algorithms
- Utility-Based Agents: Optimize for your personal learning style and risk tolerance
- Hybrid Intelligence: Combines multiple AI approaches for superior recommendations
- Risk Analysis: Understand the complexity and challenges of each learning path
- 165+ Courses: Extensive database covering Programming, Marketing, Business, Design, and more
- Prerequisite Mapping: Smart course sequencing based on dependencies
- 18 Learning Categories: From AI/ML to Creative Arts to Business Development
- Skill Gap Analysis: Identify what you need to reach your career goals
- Professional UI: Clean, easy-on-the-eyes interface designed for long learning sessions
- Interactive Visualizations: See your learning path mapped out visually
- Progress Dashboard: Track your advancement with detailed statistics
- Mobile Responsive: Learn anywhere, on any device
- RESTful API: Complete API with rate limiting and caching
- Multiple Learning Styles: Fastest, Easiest, Balanced, or Challenging approaches
- Career-Specific Planning: Direct paths to target careers
- Risk Tolerance Settings: Match learning intensity to your comfort level
- Customizable Filters: Find courses by difficulty, time, or keyword
# One-click start
start.batWhat it does:
|
# One-click start
chmod +x start.sh
./start.shWhat it does:
|
Once started, access:
- ๐ฅ๏ธ Frontend UI: Open
learning-path-advisor/frontend/index.htmlin browser - ๐ API Endpoint: http://localhost:5000
- ๐ API Docs: http://localhost:5000/api/docs
- ๐ Health Check: http://localhost:5000/api/system/health
python --version # Should be 3.8 or higherThat's it! No database setup, no complex configuration needed.
Step-by-Step Tutorial
// Example: You've completed these courses
Completed Courses: ["Python Basics", "HTML & CSS"]// Example: You want to become a Full Stack Developer
Goal Course: "Full Stack Development"| Style | Best For | Example |
|---|---|---|
| โก Fastest | Quick learners, time-pressed | Skip optional courses |
| ๐ฏ Easiest | Beginners, confidence builders | Gentle difficulty curve |
| โ๏ธ Balanced | Most users | Optimal time/difficulty mix |
| ๐ Challenging | Advanced learners | Maximum skill development |
Your Personalized Learning Path:
โโ JavaScript Fundamentals (4 weeks)
โโ Database Basics (3 weeks)
โโ Backend Development (6 weeks)
โโ Frontend Frameworks (5 weeks)
โโ Full Stack Development (8 weeks)
Total: ~6 months | Difficulty: โญโญโญโญ
- โ Mark courses as completed
- ๐ View progress dashboard
- ๐ฏ Adjust path as needed
๐ Course Discovery & Search
Advanced Filtering:
// Filter by category
GET /api/courses-by-category
{ "category": "Programming" }
// Filter by difficulty (1-10)
GET /api/courses-by-difficulty
{ "min_difficulty": 3, "max_difficulty": 7 }
// Search by keywords
Search: "machine learning python"
Results: All ML courses with Python prerequisites๐ Progress Dashboard
Track your learning journey:
- ๐ Completion Rate: See % of path completed
- โฑ๏ธ Time Invested: Track hours spent learning
- ๐ Achievements: Unlock milestones
- ๐ Learning Streak: Daily consistency tracking
๐ Career Planning
Skill Gap Analysis:
POST /api/skill-gap-analysis
{
"current_skills": ["Python", "HTML", "CSS"],
"target_skills": ["Full Stack", "Cloud", "DevOps"]
}
Response:
{
"missing_skills": ["JavaScript", "Docker", "AWS"],
"recommended_path": [...],
"estimated_time": "8 months"
}๐ฏ Get Learning Path
Request:
POST /api/path
Content-Type: application/json
{
"start_courses": ["Python Basics"],
"goal_course": "Machine Learning",
"learning_style": "balanced",
"algorithm": "dijkstra"
}Response:
{
"success": true,
"path": ["Python Basics", "Data Structures", "Algorithms", "Machine Learning"],
"total_time": 240,
"total_difficulty": 28,
"estimated_weeks": 16,
"path_details": [
{
"course": "Data Structures",
"difficulty": 7,
"time_hours": 60,
"prerequisites_met": true
}
]
}๐ก Get Course Recommendation
Request:
POST /api/recommend
Content-Type: application/json
{
"completed_courses": ["Python Basics", "Data Structures"],
"strategy": "meu",
"risk_tolerance": 0.5
}Response:
{
"success": true,
"recommendation": {
"course": "Algorithms",
"expected_utility": 8.5,
"confidence": 0.85,
"reasoning": "High utility, prerequisites met, matches risk profile"
},
"alternatives": [
{"course": "Web Development", "utility": 7.8},
{"course": "Database Systems", "utility": 7.5}
]
}๐ Get All Courses
Request:
GET /api/all-coursesResponse:
{
"success": true,
"count": 165,
"courses": {
"Python Basics": {
"difficulty": 3,
"time_hours": 40,
"utility": 9,
"category": "Programming",
"prerequisites": []
},
"Machine Learning": {
"difficulty": 8,
"time_hours": 120,
"utility": 10,
"category": "AI/ML",
"prerequisites": ["Data Structures", "Algorithms"]
}
}
}๐ฅ System Health & Monitoring
Health Check:
GET /api/system/healthPerformance Stats:
GET /api/system/performance/summaryCache Statistics:
GET /api/system/cache/stats| Endpoint | Method | Description |
|---|---|---|
/api/path |
POST | Calculate optimal learning path |
/api/recommend |
POST | Get next course recommendation |
/api/course-details |
POST | Get detailed course information |
/api/path-with-alternatives |
POST | Get path with alternative routes |
/api/course-sequence |
POST | Get recommended course sequence |
/api/available-courses |
POST | Get available courses based on completion |
/api/all-courses |
GET | Get all courses in database |
/api/all-categories |
GET | Get all course categories |
/api/career-path |
POST | Plan career transition path |
/api/skill-gap-analysis |
POST | Analyze skill gaps |
/api/system/health |
GET | System health status |
/api/docs |
GET | Interactive API documentation |
๐ Full Documentation: http://localhost:5000/api/docs (when server running)
|
Core:
Features:
|
Pathfinding:
Decision Making:
|
Technologies:
Features:
|
- โ Rate Limiting: Prevents API abuse (100 req/hour default)
- โ CORS Protection: Configurable origin restrictions
- โ Input Validation: Sanitizes and validates all inputs
- โ Error Handling: Graceful error responses
- โ Environment Config: Separate dev/prod configurations
- ๐ Response Caching: Reduces redundant computations
- ๐ Performance Monitoring: Tracks endpoint response times
- ๐ Algorithm Optimization: Efficient pathfinding implementations
- ๐พ Memory Management: Cached results with TTL
- โ 18 Unit Tests: Comprehensive test coverage
- โ 95%+ Coverage: High code coverage
- โ Pytest Framework: Modern testing tools
- โ CI/CD Ready: Automated testing pipeline
goal-planning-aiAgent/
โโโ learning-path-advisor/
โ โโโ backend/
โ โ โโโ server.py # Flask API server
โ โ โโโ enhanced_learning_path_advisor.py
โ โ โโโ advanced_goal_based_agent.py
โ โ โโโ advanced_utility_based_agent.py
โ โ โโโ hybrid_agent.py
โ โ โโโ database.py # Course database
โ โ โโโ cache.py # Response caching
โ โ โโโ performance_monitor.py # Performance tracking
โ โ โโโ config.py # Configuration
โ โโโ frontend/
โ โโโ index.html # Main UI
โ โโโ script.js # Frontend logic
โ โโโ styles.css # Styling
โ โโโ api-client.js # API communication
โ โโโ state-manager.js # State management
โโโ tests/
โ โโโ test_api.py # API tests
โโโ docs/ # Documentation
โโโ setup.py # Setup script
โโโ run.py # Run script
โโโ start.bat # Windows launcher
โโโ start.sh # Unix launcher
โโโ requirements.txt # Python dependencies
โโโ .env.example # Environment template
โโโ README.md # This file
Create .env file (auto-created by setup script):
# Server Configuration
FLASK_ENV=development # Options: development, production, testing
API_HOST=0.0.0.0 # Server host
API_PORT=5000 # Server port
# CORS Configuration
CORS_ORIGINS=* # Comma-separated allowed origins
# Production example: http://yourdomain.com,https://yourdomain.com
# Rate Limiting
RATE_LIMIT_ENABLED=true # Enable/disable rate limiting
RATE_LIMIT_DEFAULT=100 per hour # Requests per time window
RATE_LIMIT_STORAGE_URL=memory:// # Storage backend (memory:// or redis://localhost:6379)
# Logging
LOG_LEVEL=INFO # Options: DEBUG, INFO, WARNING, ERROR, CRITICAL
# Algorithm Defaults
DEFAULT_PATHFINDING_ALGORITHM=dijkstra # Options: dijkstra, astar, bfs
DEFAULT_DECISION_STRATEGY=meu # Options: meu, minimax, evk
DEFAULT_LEARNING_STYLE=balanced # Options: fastest, easiest, balanced, challenging๐ง Development (default)
FLASK_ENV=development
LOG_LEVEL=DEBUG
RATE_LIMIT_ENABLED=falseFeatures:
- Debug mode enabled
- Detailed logging
- No rate limiting
- Auto-reload on code changes
๐ Production
FLASK_ENV=production
LOG_LEVEL=WARNING
RATE_LIMIT_ENABLED=true
CORS_ORIGINS=https://yourdomain.comFeatures:
- Debug mode disabled
- Minimal logging
- Rate limiting enabled
- Restricted CORS
๐งช Testing
FLASK_ENV=testing
LOG_LEVEL=DEBUG
RATE_LIMIT_ENABLED=falseFeatures:
- Test mode enabled
- Full logging
- No rate limiting
- Isolated test environment
# In your API request
{
"algorithm": "astar", # Use A* instead of Dijkstra
"strategy": "minimax", # Use Minimax decision strategy
"learning_style": "challenging", # Maximize learning value
"risk_tolerance": 0.7 # Higher risk tolerance
}|
Basic Test Run: pytest tests/ -vExpected Output: |
With Coverage Report: pytest tests/ --cov=learning-path-advisor/backend --cov-report=htmlView Report: open htmlcov/index.html |
| Category | Tests | Description |
|---|---|---|
| ๐ Validation | 6 tests | Input validation, course existence checks |
| ๐ API Endpoints | 10 tests | All API endpoint functionality |
| 2 tests | Exception handling, error responses |
def test_custom_learning_path():
"""Test custom learning path generation"""
payload = {
'start_courses': ['Python Basics'],
'goal_course': 'AI Engineer',
'learning_style': 'challenging'
}
response = client.post('/api/path', json=payload)
assert response.status_code == 200
assert 'path' in response.json
assert len(response.json['path']) > 0# Example GitHub Actions workflow
name: Tests
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run tests
run: pytest tests/ -vWe welcome contributions! Here's how to get started:
-
๐ด Fork the Repository
git clone https://github.com/YOUR_USERNAME/goal-planning-aiAgent.git cd goal-planning-aiAgent -
๐ฟ Create a Branch
git checkout -b feature/amazing-feature
-
โจ Make Your Changes
- Write clean, documented code
- Follow existing code style
- Add tests for new features
-
โ Test Your Changes
pytest tests/ -v
-
๐ค Submit Pull Request
- Clear description of changes
- Link to related issues
- Screenshots for UI changes
๐ฏ For Beginners
- ๐ Improve documentation
- ๐ Fix typos
- โ๏ธ Write tutorials
- ๐ Add translations
- ๐จ Improve UI/UX
๐ For Experienced Developers
- โก Performance optimizations
- ๐ค New AI algorithms
- ๐ Security enhancements
- ๐ Advanced visualizations
- ๐งช Increase test coverage
๐ Full Guidelines: See CONTRIBUTING.md for detailed instructions.
# Setup development environment
python setup.py
# Activate virtual environment
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
# Install dev dependencies
pip install -r requirements.txt
# Run in development mode
python run.py- Be respectful and inclusive
- Welcome newcomers
- Provide constructive feedback
- Follow the Contributor Covenant
This project is licensed under the MIT License - see the LICENSE file for details.
โ You CAN:
- โ Use commercially
- โ Modify the code
- โ Distribute
- โ Use privately
โ You CANNOT:
- โ Hold authors liable
- โ Use trademark
๐ You MUST:
- Include copyright notice
- Include license text
Add your project here! Submit a PR to showcase how you're using this platform.
๐ Development Activity
- Total Courses: 165+
- AI Algorithms: 6 (3 pathfinding + 3 decision)
- Test Coverage: 95%+
- API Endpoints: 15+
- Code Lines: ~5,000
- Documentation Pages: 3
- Dijkstra's Algorithm: Edsger W. Dijkstra (1956)
- A Search*: Peter Hart, Nils Nilsson, Bertram Raphael (1968)
- Decision Theory: Based on classical AI and game theory principles
- Course databases inspired by industry-standard learning paths
- UI/UX influenced by modern educational platforms
- API design following RESTful best practices
- Thanks to all contributors who help improve this project! ๐
- See CONTRIBUTORS.md for full list
|
Interactive API documentation with examples |
Ask questions, share ideas |
Found a bug? Let us know! |
Have an idea? We'd love to hear it! |
- Check Documentation: Most questions are answered in docs/
- Search Issues: Someone might have had the same question
- Ask the Community: Open a discussion
- Report Bugs: Use issue templates
โ Completed Features
- Multiple pathfinding algorithms (Dijkstra, A*, BFS)
- Decision strategies (MEU, Minimax, EVK)
- 165+ course database
- RESTful API with documentation
- Rate limiting and caching
- Performance monitoring
- Comprehensive testing
- Interactive frontend UI
๐ง In Progress
- User authentication system
- Progress persistence (database)
- Mobile app (React Native)
- Course recommendation ML model
๐ฎ Future Plans
- Integration with learning platforms (Coursera, Udemy, etc.)
- Social features (share paths, compare progress)
- Gamification enhancements
- Multi-language support
- Advanced analytics dashboard
- AI-powered course difficulty prediction
- Personalized learning speed adjustments
| Version | Date | Highlights |
|---|---|---|
| 1.0.0 | 2024 | Initial release with core features |
How accurate are the learning paths?
Learning paths are generated using industry-standard algorithms and curated course data. The accuracy depends on:
- Correct prerequisite mapping
- Accurate course difficulty ratings
- Your learning style selection
Paths are optimized but can be adjusted based on your personal experience.
Can I add my own courses?
Currently, the course database is pre-loaded. Custom course addition is planned for future releases. You can modify database.py for custom deployments.
Is this suitable for corporate training?
Yes! The platform can be customized for:
- Corporate training programs
- Bootcamp curricula
- University course planning
- Personal skill development
Contact for enterprise licensing.
How do I deploy to production?
See DEPLOYMENT_CHECKLIST.md for:
- Production configuration
- Server setup (Gunicorn, Nginx)
- Security hardening
- Monitoring setup
Can I use this offline?
Yes! Once set up:
- Frontend works without internet
- Backend runs locally
- No external API calls required
All algorithms and data are self-contained.
If you find this project helpful, please consider giving it a star!
Learning Path Advisor Pro - Where AI meets education for your career success โจ