Skip to content

AI-Powered Career Development Platform - Transform your career journey with personalized learning paths

License

Notifications You must be signed in to change notification settings

neoastra303/learning-path-advisor-pro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ Learning Path Advisor Pro

AI-Powered Career Development Platform

Transform your career journey with cutting-edge AI that creates personalized learning paths tailored to your goals!

Python 3.8+ Flask License: MIT Tests Code Coverage

Features โ€ข Quick Start โ€ข Documentation โ€ข Contributing

Learning Path Advisor Demo


๐Ÿ“Š At a Glance

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

๐ŸŽฏ Why Choose Learning Path Advisor Pro?

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

๐Ÿ”„ Career Changers

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

๐Ÿš€ Career Advancers

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

๐ŸŽฏ Skill Seekers

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

๐ŸŒŸ Key Features

๐Ÿค– Advanced AI Decision Making

  • 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

๐Ÿ“š Comprehensive Learning Ecosystem

  • 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

๐ŸŽจ Modern User Experience

  • 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

๐ŸŽฏ Personalized Learning Paths

  • 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

๐Ÿš€ Quick Start

๐ŸชŸ Windows

# One-click start
start.bat

What it does:

  1. โœ… Creates virtual environment
  2. โœ… Installs dependencies
  3. โœ… Sets up configuration
  4. โœ… Starts server automatically

๐Ÿง Linux/macOS

# One-click start
chmod +x start.sh
./start.sh

What it does:

  1. โœ… Creates virtual environment
  2. โœ… Installs dependencies
  3. โœ… Sets up configuration
  4. โœ… Starts server automatically

๐ŸŒ Access the Application

Once started, access:

๐Ÿ“‹ Prerequisites

python --version  # Should be 3.8 or higher

That's it! No database setup, no complex configuration needed.

๐Ÿ“– Usage Guide

๐ŸŽฌ Getting Your First Learning Path (5 Simple Steps)

Step-by-Step Tutorial

Step 1๏ธโƒฃ: Add Your Current Skills

// Example: You've completed these courses
Completed Courses: ["Python Basics", "HTML & CSS"]

Step 2๏ธโƒฃ: Choose Your Goal

// Example: You want to become a Full Stack Developer
Goal Course: "Full Stack Development"

Step 3๏ธโƒฃ: Select Learning Style

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

Step 4๏ธโƒฃ: Get AI-Generated Path

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: โญโญโญโญ

Step 5๏ธโƒฃ: Track Your Progress

  • โœ… Mark courses as completed
  • ๐Ÿ“Š View progress dashboard
  • ๐ŸŽฏ Adjust path as needed

๐ŸŽจ Interactive Features

๐Ÿ” 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"
}

๐Ÿ”Œ API Documentation

๐ŸŒŸ Popular Endpoints

๐ŸŽฏ 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-courses

Response:

{
  "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/health

Performance Stats:

GET /api/system/performance/summary

Cache Statistics:

GET /api/system/cache/stats

๐Ÿ“– Complete API Reference

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)

๐Ÿ› ๏ธ Technology Stack

Backend

Python Flask

Core:

  • Flask 2.3.3
  • Python 3.8+
  • Werkzeug 2.3.7

Features:

  • Flask-CORS
  • Flask-Limiter
  • python-dotenv

Algorithms

AI

Pathfinding:

  • Dijkstra's Algorithm
  • A* Search
  • Breadth-First Search

Decision Making:

  • Maximum Expected Utility
  • Minimax Strategy
  • Hybrid Intelligence

Frontend

HTML5 CSS3 JavaScript

Technologies:

  • Vanilla JavaScript (ES6+)
  • Responsive CSS
  • Interactive UI/UX

Features:

  • State Management
  • API Client
  • Real-time Updates

๐Ÿ”’ Security 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

โšก Performance Features

  • ๐Ÿš€ Response Caching: Reduces redundant computations
  • ๐Ÿ“Š Performance Monitoring: Tracks endpoint response times
  • ๐Ÿ”„ Algorithm Optimization: Efficient pathfinding implementations
  • ๐Ÿ’พ Memory Management: Cached results with TTL

๐Ÿงช Testing & Quality

  • โœ… 18 Unit Tests: Comprehensive test coverage
  • โœ… 95%+ Coverage: High code coverage
  • โœ… Pytest Framework: Modern testing tools
  • โœ… CI/CD Ready: Automated testing pipeline

๐Ÿ“ Project Structure

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

โš™๏ธ Configuration

Environment Variables

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

Configuration Profiles

๐Ÿ”ง Development (default)
FLASK_ENV=development
LOG_LEVEL=DEBUG
RATE_LIMIT_ENABLED=false

Features:

  • 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.com

Features:

  • Debug mode disabled
  • Minimal logging
  • Rate limiting enabled
  • Restricted CORS
๐Ÿงช Testing
FLASK_ENV=testing
LOG_LEVEL=DEBUG
RATE_LIMIT_ENABLED=false

Features:

  • Test mode enabled
  • Full logging
  • No rate limiting
  • Isolated test environment

Customizing Algorithms

# 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
}

๐Ÿงช Testing

Running Tests

Basic Test Run:

pytest tests/ -v

Expected Output:

18 passed in 1.23s โœ“

With Coverage Report:

pytest tests/ --cov=learning-path-advisor/backend --cov-report=html

View Report:

open htmlcov/index.html

Test Categories

Category Tests Description
๐Ÿ”’ Validation 6 tests Input validation, course existence checks
๐ŸŒ API Endpoints 10 tests All API endpoint functionality
โš ๏ธ Error Handling 2 tests Exception handling, error responses

Writing Tests

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

Continuous Integration

# 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/ -v

๐Ÿค Contributing

We welcome contributions! Here's how to get started:

Quick Contribution Guide

  1. ๐Ÿด Fork the Repository

    git clone https://github.com/YOUR_USERNAME/goal-planning-aiAgent.git
    cd goal-planning-aiAgent
  2. ๐ŸŒฟ Create a Branch

    git checkout -b feature/amazing-feature
  3. โœจ Make Your Changes

    • Write clean, documented code
    • Follow existing code style
    • Add tests for new features
  4. โœ… Test Your Changes

    pytest tests/ -v
  5. ๐Ÿ“ค Submit Pull Request

    • Clear description of changes
    • Link to related issues
    • Screenshots for UI changes

Contribution Ideas

๐ŸŽฏ 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.

Development Setup

# 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

Code of Conduct

  • Be respectful and inclusive
  • Welcome newcomers
  • Provide constructive feedback
  • Follow the Contributor Covenant

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

What This Means

โœ… 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

๐ŸŒŸ Showcase

Built With Learning Path Advisor

Add your project here! Submit a PR to showcase how you're using this platform.


๐Ÿ“Š Project Stats

GitHub stars GitHub forks GitHub watchers

๐Ÿ“ˆ 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

๐Ÿ™ Acknowledgments

Algorithms & Research

  • 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

Inspiration

  • Course databases inspired by industry-standard learning paths
  • UI/UX influenced by modern educational platforms
  • API design following RESTful best practices

Contributors

  • Thanks to all contributors who help improve this project! ๐ŸŽ‰
  • See CONTRIBUTORS.md for full list

๐Ÿ“ž Support & Community

๐Ÿ“– Documentation

View Docs

Interactive API documentation with examples

๐Ÿ’ฌ Discussions

Join Discussion

Ask questions, share ideas

๐Ÿ› Issues

Report Bug

Found a bug? Let us know!

โœจ Features

Request Feature

Have an idea? We'd love to hear it!

Getting Help

  1. Check Documentation: Most questions are answered in docs/
  2. Search Issues: Someone might have had the same question
  3. Ask the Community: Open a discussion
  4. Report Bugs: Use issue templates

๐Ÿ—บ๏ธ Roadmap

Current Version: 1.0.0

โœ… 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 History

Version Date Highlights
1.0.0 2024 Initial release with core features

๐Ÿ’ก FAQ

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.


โญ Star History

If you find this project helpful, please consider giving it a star!

Star History Chart


Made with โค๏ธ by the Learning Path Advisor Team

Learning Path Advisor Pro - Where AI meets education for your career success โœจ

โฌ† Back to Top

About

AI-Powered Career Development Platform - Transform your career journey with personalized learning paths

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published