Skip to content

Latest commit

Β 

History

70 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 SkillBridge β€” AI-Powered Career Development Platform

πŸ“˜ Bridging the Gap Between Graduate Skills and Industry Demand

SkillBridge is an advanced web platform that leverages AI to analyze your skillset through resume upload, identifies skill gaps with market requirements, and generates personalized learning roadmaps with downloadable PDF reports. Built with modern technologies and powered by Google's Gemini AI.


πŸš€ Current Features

Core Functionality

  • πŸ“€ Resume Upload & Analysis: Upload PDF/DOCX resumes for AI-powered skill extraction
  • πŸ€– AI-Powered Analysis: Google Gemini integration for intelligent resume parsing
  • 🎯 Target Career Matching: Specify desired career paths for personalized recommendations
  • πŸ“Š Skill Gap Analysis: Compare current skills with industry requirements
  • πŸ—ΊοΈ Personalized Roadmaps: AI-generated learning paths with phases and milestones
  • πŸ“„ PDF Export: Download professional roadmap reports
  • πŸ“ˆ Interactive Dashboard: Visualize progress and skill development

Advanced Features

  • ⚑ Async Processing: Celery-powered background tasks for scalable performance
  • πŸ”„ Real-time Status Updates: Polling-based status checking for long-running operations
  • 🎨 Modern UI: React-based responsive interface with TailwindCSS
  • πŸ“± Multi-Frontend Support: Both Vite and CRA-based frontend implementations
  • πŸ”§ Robust Backend: Flask-based REST API with comprehensive error handling β€” MVP

πŸ“˜ Bridging the Gap Between Graduate Skills and Industry Demand

SkillBridge is a web platform that analyzes a user’s current skillset (via manual input or resume upload), compares it with real-time job market requirements, and generates a personalized Skill Gap Report with recommended learning resources.


πŸš€ MVP Features

  • πŸ” Skill Input: manual entry or CV upload
  • 🧠 NLP Skill Extraction from uploaded CVs
  • 🌐 Job Data Loading: mock job postings with in-demand skills
  • πŸ“Š Skill Gap Analysis: compare user skills with market needs
  • 🎯 Recommendations: tutorials/courses for missing skills
  • πŸ“ˆ Dashboard: visualize owned vs missing skills

🧱 Project Structure

skillbridge/
β”‚
β”œβ”€β”€ frontend/                     # Vite + React frontend
β”‚   β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”‚   β”œβ”€β”€ Dashboard/
β”‚   β”‚   β”‚   β”œβ”€β”€ UploadForm.jsx
β”‚   β”‚   β”‚   └── SkillChart.jsx
β”‚   β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”‚   β”œβ”€β”€ Dashboard.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ UploadResume.jsx
β”‚   β”‚   β”‚   └── Profile.jsx
β”‚   β”‚   β”œβ”€β”€ services/
β”‚   β”‚   β”‚   └── api.js
β”‚   β”‚   └── App.jsx
β”‚   β”œβ”€β”€ package.json
β”‚   └── tailwind.config.js
β”‚
β”œβ”€β”€ superfrontend/                # CRA + React alternative frontend
β”‚   β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”‚   β”œβ”€β”€ LandingPage.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ UploadResume.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ RecommendedSkills.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ Roadmap.jsx
β”‚   β”‚   β”‚   β”œβ”€β”€ Dashboard.jsx
β”‚   β”‚   β”‚   └── Profile.jsx
β”‚   β”‚   β”œβ”€β”€ hooks/
β”‚   β”‚   β”œβ”€β”€ styles/
β”‚   β”‚   └── axiosConfig.js
β”‚   β”œβ”€β”€ package.json
β”‚   └── tailwind.config.js
β”‚
β”œβ”€β”€ backend/                      # Flask + Celery backend
β”‚   β”œβ”€β”€ app/
β”‚   β”‚   β”œβ”€β”€ __init__.py
β”‚   β”‚   β”œβ”€β”€ routes/
β”‚   β”‚   β”‚   β”œβ”€β”€ analysis.py       # Resume upload & analysis
β”‚   β”‚   β”‚   β”œβ”€β”€ skills.py         # Skill recommendations
β”‚   β”‚   β”‚   β”œβ”€β”€ roadmap.py        # Roadmap generation & PDF
β”‚   β”‚   β”‚   β”œβ”€β”€ profile.py        # User profiles
β”‚   β”‚   β”‚   └── jobdata.py        # Job market data
β”‚   β”‚   β”œβ”€β”€ services/
β”‚   β”‚   β”‚   β”œβ”€β”€ ai_service.py     # AI integration layer
β”‚   β”‚   β”‚   β”œβ”€β”€ gemini/           # Google Gemini integration
β”‚   β”‚   β”‚   β”œβ”€β”€ nlp.py           # Natural language processing
β”‚   β”‚   β”‚   └── resume_parser/    # Resume parsing utilities
β”‚   β”‚   β”œβ”€β”€ models.py            # SQLAlchemy database models
β”‚   β”‚   β”œβ”€β”€ tasks.py             # Celery async tasks
β”‚   β”‚   β”œβ”€β”€ celery_app.py        # Celery configuration
β”‚   β”‚   └── utils.py
β”‚   β”œβ”€β”€ uploads/                  # Resume file storage
β”‚   β”œβ”€β”€ instance/                 # SQLite database files
β”‚   β”œβ”€β”€ requirements.txt
β”‚   β”œβ”€β”€ run.py
β”‚   β”œβ”€β”€ celery_worker.py         # Celery worker startup
β”‚   β”œβ”€β”€ test_api.py              # API test suite
β”‚   β”œβ”€β”€ SETUP_INSTRUCTIONS.md    # Backend setup guide
β”‚   └── PDF_IMPLEMENTATION.md    # PDF generation docs
β”‚
β”œβ”€β”€ database/
β”‚   └── schema.sql               # Database schema
β”‚
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ api_endpoints.md         # Complete API documentation
β”‚   └── SkillBridgeUi/          # UI documentation
β”‚
β”œβ”€β”€ README.md
β”œβ”€β”€ package.json                 # Root package configuration
β”œβ”€β”€ eslint.config.mjs           # ESLint configuration
└── Style.css                   # Global styles

βš™οΈ Tech Stack

Layer Technology
Frontend React 18/19, Vite/CRA, TailwindCSS
Backend Flask 3.1, Flask-RESTful, Flask-CORS
Database SQLite (dev) / PostgreSQL (production)
AI/ML Google Gemini API, spaCy, NLTK
Async Celery 5.3, Redis 5.0
PDF Gen WeasyPrint, Jinja2 Templates
Auth JWT (planned), OAuth (planned)
Testing Jest, React Testing Library
Deployment Docker (planned), AWS/Render

🀞 API Overview

Core Endpoints (βœ… Implemented)

Endpoint Method Description
/api/v1/upload-resume POST Upload resume with target career
/api/v1/status/{analysis_id} GET Check analysis processing status
/api/v1/skills/{analysis_id} GET Get AI-recommended skills
/api/v1/confirm-recommendations POST Confirm skill selection & preferences
/api/v1/roadmap/status/{job_id} GET Check roadmap generation status
/api/v1/roadmaps/{roadmap_id} GET Get complete learning roadmap
/api/v1/roadmaps/{id}/generate-pdf POST Generate PDF roadmap
/api/v1/pdf-status/{pdf_job_id} GET Check PDF generation status
/api/v1/download-pdf/{pdf_job_id} GET Download generated PDF

Workflow

  1. Upload Resume β†’ 2. AI Analysis β†’ 3. Select Skills β†’ 4. Generate Roadmap β†’ 5. Download PDF

See docs/api_endpoints.md for complete API documentation.


🧰 Setup Instructions

πŸ’» Backend Setup

cd backend

# Create virtual environment
python -m venv venv
source venv/bin/activate  # Linux/Mac
# venv\Scripts\activate   # Windows

# Install dependencies
pip install -r requirements.txt

# Setup environment variables
cp .env.example .env
# Edit .env and add your GEMINI_API_KEY

Required Environment Variables

FLASK_ENV=development
DATABASE_URL=sqlite:///skillbridge.db
GEMINI_API_KEY=your_gemini_api_key_here
CELERY_BROKER_URL=redis://localhost:6379/0
CELERY_RESULT_BACKEND=redis://localhost:6379/0

πŸ”„ Start Services

1. Start Redis (Required for Celery)

# Ubuntu/Debian
sudo apt install redis-server && redis-server

# macOS
brew install redis && brew services start redis

# Docker
docker run -d -p 6379:6379 redis:alpine

2. Start Celery Worker (Terminal 1)

cd backend
celery -A app.celery_app worker --loglevel=info

3. Start Flask API (Terminal 2)

cd backend
python run.py

πŸ–₯️ Frontend Setup

Option 1: Vite Frontend (Recommended)

cd frontend
npm install
npm run dev

Option 2: CRA Frontend

cd superfrontend
npm install
npm start

Environment Variables

# frontend/.env or superfrontend/.env
VITE_API_URL=http://127.0.0.1:5000/api/v1
REACT_APP_API_URL=http://127.0.0.1:5000/api/v1

🧠 How It Works

AI-Powered Workflow

  1. Resume Upload & Parsing

    • Upload PDF/DOCX resume with target career goal
    • Google Gemini AI extracts skills, experience, and profile data
    • Async processing with real-time status updates
  2. Intelligent Skill Analysis

    • AI compares current skills with target career requirements
    • Generates confidence scores and difficulty assessments
    • Provides realistic learning timelines
  3. Personalized Roadmap Generation

    • Creates multi-phase learning paths
    • Includes specific goals, resources, and milestones
    • Estimates time commitments and prerequisites
  4. Professional PDF Reports

    • Download beautifully formatted roadmap PDFs
    • Includes complete learning plan and resource links
    • Professional layout suitable for career planning

🎨 UI Screenshots & Interface Preview

πŸ–ΌοΈ Application Interface

SkillBridge features a modern, responsive user interface designed for optimal user experience across all devices. Below are screenshots of key application pages:

🏠 Landing Page

Landing Page Clean, professional landing page introducing SkillBridge's core value proposition

πŸ“€ Resume Upload Interface

Upload Resume Intuitive drag-and-drop resume upload with target career selection

⏳ Processing Screen

Loading Screen Real-time status updates during AI analysis with progress indicators

🎯 Skill Recommendations

Recommended Skills AI-generated skill recommendations with confidence scores and difficulty levels

πŸ—ΊοΈ Personalized Learning Roadmap

Personalized Roadmap Comprehensive learning roadmap with phases, timelines, and resource recommendations

πŸ“Š Interactive Dashboard

Dashboard User progress tracking with analytics and skill development visualization

πŸ” Authentication System

Authentication Secure user authentication and profile management interface

🎨 UI Design Features

  • Responsive Design: Optimized for desktop, tablet, and mobile devices
  • Modern Aesthetics: Clean, professional interface using TailwindCSS
  • Accessibility: WCAG compliant with proper contrast and keyboard navigation
  • Interactive Elements: Smooth animations and intuitive user interactions
  • Dark/Light Themes: Adaptive themes for user preference (planned)

πŸ“± Interactive Mockups

Explore the complete UI experience with our interactive mockups:


πŸ§ͺ Example API Response

Skill Recommendations

{
  "user_profile": {
    "name": "John Doe",
    "experience_level": "Entry Level",
    "current_skills": ["Python", "SQL", "Git"]
  },
  "recommended_skills": [
    {
      "skill_id": "sk_001",
      "name": "Flask",
      "confidence": 0.85,
      "difficulty": "Intermediate",
      "estimated_hours": 40
    },
    {
      "skill_id": "sk_002", 
      "name": "React",
      "confidence": 0.92,
      "difficulty": "Intermediate",
      "estimated_hours": 60
    }
  ]
}

Generated Roadmap

{
  "roadmap": {
    "title": "Python Developer Learning Path",
    "total_weeks": 16,
    "phases": [
      {
        "name": "Foundation Phase",
        "duration_weeks": 4,
        "goals": [
          {
            "title": "Master Flask Framework",
            "resources": ["Flask Mega Tutorial", "Official Documentation"],
            "estimated_hours": 40
          }
        ]
      }
    ]
  }
}

🧭 Development Roadmap

βœ… Completed (v1.0)

  • Resume upload and AI-powered analysis
  • Google Gemini integration for skill extraction
  • Personalized learning roadmap generation
  • PDF export functionality
  • Async processing with Celery
  • Comprehensive REST API
  • Dual frontend implementations (Vite + CRA)
  • Professional UI with TailwindCSS

οΏ½ In Progress (v1.1)

  • User authentication and profiles
  • Progress tracking and analytics
  • Enhanced AI recommendations
  • Mobile responsiveness improvements

πŸ“‹ Planned (v2.0)

  • Real-time job market data integration
  • LinkedIn/Indeed API connections
  • Social features and mentor matching
  • Gamification and achievement system
  • Advanced analytics dashboard
  • Multi-language support

πŸ§ͺ Testing

Backend Testing

cd backend
python test_api.py  # Complete API test suite

Frontend Testing

cd superfrontend
npm test  # React component tests

πŸ“š Documentation


πŸ‘₯ Contributors

  • Team SkillBridge – AI-Powered Career Development Platform
  • Current Branch: feature/improved-backend-for-super-frontend
  • Repository: SkillBridge

Tech Stack Summary

  • Frontend: React 18/19 + TailwindCSS + Vite/CRA
  • Backend: Flask 3.1 + Celery + Redis
  • AI: Google Gemini API + spaCy + NLTK
  • Database: SQLite (dev) + SQLAlchemy
  • PDF: WeasyPrint + Jinja2

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

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

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages