Skip to content

logesh4v/Pathway

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ Smart Roadmap Builder

AI-powered personalized learning roadmaps for college students with Google Calendar integration

Python FastAPI AWS Bedrock License

🌟 Features

🌐 Complete Web Interface

  • Interactive Form: Beautiful, responsive web interface for user input
  • Real-time Validation: Instant feedback on form inputs with smart suggestions
  • Visual Results: Stunning timeline view of your personalized learning roadmap
  • Export Options: Download as Excel, PDF, or Calendar (.ics) files
  • Mobile Responsive: Works perfectly on all devices and screen sizes

πŸ€– AI-Powered Generation

  • Multi-Domain Learning Paths: Data Structures, AWS Cloud, Data Science, NLP, and AI
  • Academic Year Support: Tailored content for 1st, 2nd, 3rd, and 4th year students
  • Amazon Nova Micro Integration: Uses AWS Bedrock's latest model for intelligent content generation
  • Progressive Difficulty: Tasks automatically scale from Beginner β†’ Intermediate β†’ Advanced
  • Personalized Scheduling: Adapts to your weekly study hours and academic level

πŸ”’ Privacy & Integration

  • Google Calendar Integration: Seamless OAuth 2.0 integration with automatic event creation
  • Privacy-First Design: In-memory processing without data persistence
  • Secure Credentials: Comprehensive .gitignore for sensitive information
  • Multi-Agent Architecture: Specialized agents for profile collection, roadmap generation, and calendar integration

πŸš€ Quick Start

Option 1: Simplified Version (Recommended for Demo)

Works immediately without any external dependencies!

# Clone the repository
git clone https://github.com/logesh4v/Pathway.git
cd Pathway/smart-roadmap-builder

# Install basic dependencies
pip install fastapi uvicorn jinja2 python-multipart

# Run the simplified web application
python run_web_simple.py

# Open your browser
# Go to: http://localhost:8000

Option 2: Full Version (with AI & Calendar Integration)

Requires AWS Bedrock and Google Calendar API setup

# Install all dependencies
pip install -r requirements.txt

# Configure credentials (see Setup Guide below)
cp .env.example .env
# Edit .env with your API credentials

# Run the full web application
python run_web.py

# Open your browser
# Go to: http://localhost:8000

πŸ“– Complete Setup Guide

πŸ”§ Prerequisites

  • Python 3.9+
  • Internet connection for API access

🌐 Web Interface Setup

  1. Basic Version (No external APIs needed):

    pip install fastapi uvicorn jinja2 python-multipart
    python run_web_simple.py
  2. Full Version (With AI and Calendar):

    pip install -r requirements.txt
    # Configure APIs (see below)
    python run_web.py

☁️ AWS Bedrock Setup (Optional - for AI generation)

  1. Create AWS Account and enable Bedrock
  2. Get AWS credentials:
    export AWS_ACCESS_KEY_ID=your_access_key
    export AWS_SECRET_ACCESS_KEY=your_secret_key
    export AWS_REGION=us-east-1
  3. Enable Amazon Nova Micro model in Bedrock console

πŸ“… Google Calendar Setup (Optional - for calendar integration)

  1. Go to Google Cloud Console
  2. Create project and enable Google Calendar API
  3. Create OAuth 2.0 credentials
  4. Set environment variables:
    export GOOGLE_CLIENT_ID=your_client_id
    export GOOGLE_CLIENT_SECRET=your_client_secret

πŸ“ Environment Configuration

# Copy example environment file
cp .env.example .env

# Edit .env with your credentials
nano .env

🎯 Usage Examples

🌐 Web Interface (Recommended)

  1. Start the server:

    python run_web_simple.py  # For demo version
    # OR
    python run_web.py         # For full version
  2. Open browser: http://localhost:8000

  3. Fill out the form:

    • Enter your name, academic year (1st-4th), and department
    • Select learning domains (Data Structures, AWS, Data Science, NLP, AI)
    • Set your weekly study hours (1-40)
    • Choose calendar integration preferences
  4. Generate and export:

    • Click "Generate My Roadmap"
    • View your personalized learning timeline
    • Export as Excel, PDF, or Calendar file

πŸ”§ API Usage

import requests

# Generate roadmap via API
response = requests.post('http://localhost:8000/api/generate-roadmap', json={
    "full_name": "Alice Johnson",
    "academic_year": "3rd Year", 
    "department": "Computer Science",
    "selected_domains": ["Data Structures", "AI", "AWS"],
    "weekly_study_hours": 18,
    "calendar_integration": True
})

roadmap = response.json()
print(f"Generated roadmap for {roadmap['roadmap']['StudentName']}")

πŸ“± Command Line Interface

# Interactive CLI application
python main.py

# Run simple demo (no external dependencies)
python simple_demo.py

# Run comprehensive demo
python demo.py

πŸ“Š Sample Output

The system generates comprehensive JSON roadmaps like this:

{
  "StudentName": "Alice Johnson",
  "Year": "3rd Year",
  "Department": "AI & Data Science",
  "Domains": ["Data Structures", "AWS", "AI"],
  "RoadmapDuration": "12 Months",
  "Phases": [
    {
      "month": "January",
      "weeks": [
        {
          "week": 1,
          "tasks": [
            {
              "domain": "AI",
              "title": "Deep Learning and Neural Networks",
              "description": "Advanced neural architectures, CNNs, RNNs...",
              "estimated_time": "15 hours",
              "difficulty_level": "Advanced",
              "calendar_event": {
                "title": "Deep Learning and Neural Networks",
                "start_time": "2025-01-06T09:00:00",
                "add_to_google_calendar": true
              }
            }
          ]
        }
      ]
    }
  ],
  "CareerGoals": [
    "Achieve advanced expertise in Data Structures, AWS, AI",
    "Lead complex projects and contribute to open-source",
    "Secure internships at top tech companies"
  ]
}

πŸ—οΈ Architecture

πŸ“ Project Structure

smart-roadmap-builder/
β”œβ”€β”€ 🌐 Web Frontend
β”‚   β”œβ”€β”€ web_app_simple.py      # Simplified version (no external deps)
β”‚   β”œβ”€β”€ web_app.py             # Full version (with AI & Calendar)
β”‚   β”œβ”€β”€ run_web_simple.py      # Start simplified version
β”‚   β”œβ”€β”€ run_web.py             # Start full version
β”‚   β”œβ”€β”€ templates/
β”‚   β”‚   β”œβ”€β”€ index.html         # User input form
β”‚   β”‚   └── results.html       # Results display
β”‚   └── static/
β”‚       └── style.css          # Custom styling
β”œβ”€β”€ πŸ€– Backend System
β”‚   β”œβ”€β”€ agents/                # Multi-agent system
β”‚   β”‚   β”œβ”€β”€ profile_agent.py   # Profile collection & validation
β”‚   β”‚   β”œβ”€β”€ learning_path_agent.py # Roadmap generation with Bedrock
β”‚   β”‚   β”œβ”€β”€ calendar_agent.py  # Google Calendar integration
β”‚   β”‚   └── orchestrator_agent.py # Main workflow coordinator
β”‚   β”œβ”€β”€ models/                # Data models
β”‚   β”‚   β”œβ”€β”€ user_profile.py    # Student profile model
β”‚   β”‚   β”œβ”€β”€ learning_task.py   # Learning task model
β”‚   β”‚   β”œβ”€β”€ calendar_event.py  # Calendar event model
β”‚   β”‚   └── roadmap_output.py  # Complete roadmap structure
β”‚   β”œβ”€β”€ services/              # External integrations
β”‚   β”‚   β”œβ”€β”€ bedrock_service.py # AWS Bedrock Nova Micro integration
β”‚   β”‚   └── google_calendar_service.py # Google Calendar API
β”‚   └── utils/                 # Utilities
β”‚       β”œβ”€β”€ validation.py      # Input validation utilities
β”‚       β”œβ”€β”€ datetime_utils.py  # Date/time handling
β”‚       └── logging_utils.py   # Security-aware logging
β”œβ”€β”€ πŸ§ͺ Testing & Demos
β”‚   β”œβ”€β”€ test_web.py           # Web app tests
β”‚   β”œβ”€β”€ simple_demo.py        # CLI demo
β”‚   └── demo_web.py           # Web demo
└── πŸ“– Documentation
    β”œβ”€β”€ README.md             # Main documentation
    β”œβ”€β”€ SETUP_GUIDE.md        # Detailed setup guide
    └── requirements.txt      # Dependencies

πŸ€– Multi-Agent System

  • Profile Agent: Collects and validates user information with smart recommendations
  • Learning Path Agent: Generates personalized roadmaps using AWS Bedrock Nova Micro
  • Calendar Agent: Handles Google Calendar OAuth and event creation
  • Orchestrator Agent: Coordinates the complete workflow with error handling

πŸŽ“ Domain Support

The system supports five comprehensive learning domains:

πŸ“Š Data Structures

  • 1st-2nd Year: Arrays, Linked Lists, Stacks, Queues
  • 3rd-4th Year: Advanced Trees, Graph Algorithms, Dynamic Programming

☁️ AWS Cloud

  • 1st-2nd Year: Cloud Fundamentals, EC2, S3, VPC
  • 3rd-4th Year: DevOps Pipelines, Solutions Architecture

πŸ“ˆ Data Science

  • 1st-2nd Year: Python, Pandas, Basic ML
  • 3rd-4th Year: Advanced ML, Big Data, MLOps

πŸ—£οΈ Natural Language Processing

  • 1st-2nd Year: Text Processing, Basic NLP
  • 3rd-4th Year: Transformers, Research Applications

πŸ€– Artificial Intelligence

  • 1st-2nd Year: ML Fundamentals, Basic Algorithms
  • 3rd-4th Year: Deep Learning, AI Research

πŸ§ͺ Testing

Test File Structure

python test_web.py

Test Simplified Version

# Start server in one terminal
python run_web_simple.py

# Test in another terminal
curl http://localhost:8000/health

Test API Endpoints

# Health check
curl http://localhost:8000/health

# Generate sample roadmap
curl http://localhost:8000/sample-roadmap

πŸ”§ Troubleshooting

Common Issues

  1. Import Errors

    # Missing dependencies
    pip install fastapi uvicorn jinja2 python-multipart
  2. Port Already in Use

    # Change port in run_web_simple.py
    uvicorn.run(app, host="0.0.0.0", port=8001)
  3. Template Not Found

    # Make sure you're in the correct directory
    cd smart-roadmap-builder
    python run_web_simple.py
  4. AWS/Google API Issues

    • Use simplified version for demo: python run_web_simple.py
    • Check credentials in .env file
    • Verify API access in respective consoles

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature-name
  3. Make your changes and add tests
  4. Commit your changes: git commit -am 'Add feature'
  5. Push to the branch: git push origin feature-name
  6. Submit a pull request

πŸ“„ License

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

Acknowledgments

  • AWS Bedrock Nova Micro for AI-powered content generation
  • Google Calendar API for seamless calendar integration
  • FastAPI for the robust web framework
  • Bootstrap for beautiful, responsive UI components

πŸ“ž Support


πŸŽ‰ Ready to create your personalized learning roadmap? Start with python run_web_simple.py and open http://localhost:8000!

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors