Skip to content

PiyushJimiwal/InternMatchAI

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

194 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AI Internship Matching System

A sophisticated Flask-based web application that uses artificial intelligence to intelligently match students with government internship opportunities. The system employs advanced machine learning algorithms including TF-IDF vectorization and cosine similarity to analyze skills compatibility, location preferences, academic qualifications, and sector interests while incorporating affirmative action policies for equitable representation.

🌟 Key Features

πŸ‘¨β€πŸŽ“ For Students

  • Smart Profile Management: Comprehensive profile system tracking academic information, technical skills, soft skills, location preferences, and demographic data
  • AI-Powered Matching: Advanced matching engine with color-coded compatibility scores (Green 70%+, Yellow 50-69%, Gray <50%)
  • Intelligent Match Discovery: Personalized internship recommendations with detailed match breakdowns showing skills, academic, location, and sector compatibility
  • Streamlined Applications: Submit applications with cover letters, portfolio URLs, and additional notes directly through the platform
  • Google OAuth Integration: Seamless registration and login using Google accounts with automatic profile setup
  • Progress Tracking: Visual profile completeness calculator to guide profile optimization for better matches
  • Real-time Dashboard: Monitor application status and view recent matches with instant compatibility scores

πŸ›οΈ For Departments/Organizations

  • Comprehensive Internship Management: Create, edit, and manage detailed internship listings with specific skill requirements
  • Smart Application Review: Review student applications with AI-generated match percentages to identify top candidates quickly
  • Color-Coded Candidate Evaluation: Instant visual indicators showing candidate compatibility (Green/Yellow/Gray system)
  • Advanced Filtering: Sort and filter applications by match percentage to focus on the most suitable candidates
  • Quota Management: Set and track affirmative action quotas for different categories (SC/ST/OBC/Rural/Women)
  • Detailed Analytics: Track application numbers, position fill rates, and candidate quality metrics
  • Profile Management: Maintain comprehensive organizational profiles with ministry information and contact details

πŸ‘¨β€πŸ’Ό For Administrators

  • Department Management: Create and manage department accounts with role-based access controls
  • System Oversight: Monitor platform usage, user engagement, and matching algorithm performance
  • Analytics Dashboard: View system-wide statistics, matching success rates, and diversity metrics
  • Quality Assurance: Monitor match quality and algorithm effectiveness across different sectors

πŸš€ New Enhanced Features

Smart Color-Coded Matching

  • Visual Match Indicators: Instant color-coded badges showing compatibility levels
  • Consistent UI: Same color scheme across all student and department views
  • Quick Decision Making: Departments can rapidly identify top candidates through visual cues
  • Enhanced User Experience: Students immediately understand their compatibility with opportunities

Advanced AI Matching Engine

  • Multi-Factor Analysis: Considers 5 key compatibility factors with intelligent weighting
  • Real-Time Calculations: On-demand match percentage calculations for any student-internship pair
  • Dynamic Scoring: Adaptive algorithm that considers available positions and diversity requirements
  • Continuous Improvement: Machine learning pipeline for ongoing algorithm enhancement

πŸ› οΈ Technology Stack

Backend Framework

  • Flask 3.1.2: Modern Python web framework with application factory pattern
  • SQLAlchemy 2.0+: Advanced ORM with declarative base and relationship modeling
  • Flask-SQLAlchemy: Flask integration for seamless database operations
  • Flask-Migrate: Alembic-based database migration management
  • Werkzeug: WSGI utilities and secure password hashing
  • PostgreSQL: Production-grade database with SQLite fallback for development

AI/Machine Learning Stack

  • scikit-learn 1.7.2: Core machine learning algorithms and text processing
  • TF-IDF Vectorization: Advanced text analysis for skills compatibility matching
  • Cosine Similarity: Mathematical similarity calculations with high precision
  • NumPy 2.3.3: Numerical computing for efficient array operations and calculations
  • Pandas 2.3.2: Data manipulation, analysis, and preprocessing

Frontend & UI

  • Jinja2 Templates: Server-side rendering with component-based architecture
  • Bootstrap 5: Modern responsive CSS framework with custom dark theme
  • Custom CSS Variables: Consistent design system with theme management
  • Progressive JavaScript: Form validation, modal interactions, and dynamic UI updates
  • Font Awesome Icons: Professional icon library for enhanced user experience

Authentication & Security

  • Google OAuth 2.0: Enterprise-grade authentication with automatic profile integration
  • Multi-Method Authentication: Support for both OAuth and traditional password-based login
  • Session Management: Secure Flask sessions with CSRF protection
  • Role-Based Access: Granular permissions for students, departments, and administrators
  • Input Sanitization: Comprehensive form validation and XSS protection

πŸ“Š AI Matching Algorithm

Intelligent Scoring Components

  1. Skills Compatibility (35% weight)

    • TF-IDF vectorization of technical and soft skills
    • Cosine similarity calculations for precise matching
    • Normalized skill keyword matching with stemming
  2. Academic Qualification Matching (25% weight)

    • CGPA requirements and course relevance analysis
    • Year of study and degree type compatibility
    • Academic performance trend consideration
  3. Location Preference Analysis (20% weight)

    • Preferred location matching with geographic proximity
    • Current location and willingness to relocate
    • Remote work option compatibility
  4. Sector Interest Alignment (15% weight)

    • Interest-sector compatibility scoring
    • Career goal alignment with opportunity sectors
    • Professional development pathway matching
  5. Diversity & Inclusion Factors (5% weight)

    • Affirmative action category bonuses
    • Geographic diversity incentives (rural/urban)
    • Gender diversity considerations

Advanced Algorithm Features

  • Dynamic Threshold Management: Only generates matches above 30% compatibility to ensure quality
  • Weighted Multi-Factor Scoring: Balanced algorithm considering all compatibility dimensions
  • Quota-Aware Matching: Intelligent consideration of available positions and diversity requirements
  • Performance Optimization: Efficient similarity calculations for large-scale matching
  • Continuous Learning Ready: Architecture supports ML model updates and A/B testing

🎨 User Experience Design

Visual Design System

  • Consistent Color Coding: Green/Yellow/Gray compatibility indicators across all interfaces
  • Dark Theme Optimization: Modern dark theme with high contrast for accessibility
  • Responsive Design: Mobile-first approach with Bootstrap 5 responsive grid
  • Progressive Enhancement: Core functionality works without JavaScript

Interaction Design

  • Modal-Based Workflows: Streamlined application submission with contextual forms
  • Real-Time Feedback: Instant match percentage updates and form validation
  • Intuitive Navigation: Clear information architecture with breadcrumbs and contextual menus
  • Accessibility Compliance: WCAG guidelines implementation for inclusive design

πŸš€ Installation & Setup

System Requirements

  • Python: 3.11+ (recommended: 3.11.5+)
  • Database: PostgreSQL 13+ (SQLite supported for development)
  • Memory: 2GB+ RAM for optimal performance
  • Storage: 1GB+ free space

Quick Start Guide

  1. Clone Repository

    git clone <repository-url>
    cd ai-internship-matching
  2. Install Dependencies

    pip install -r requirements.txt
  3. Environment Configuration (Optional)

    export DATABASE_URL="postgresql://user:pass@localhost/dbname"
    export SESSION_SECRET="your-secret-key"
    export GOOGLE_CLIENT_ID="your-google-client-id"
    export GOOGLE_CLIENT_SECRET="your-google-client-secret"
  4. Initialize Database

    flask db upgrade
    python seed.py  # Optional: Load sample data
  5. Launch Application

    python main.py
  6. Access Platform

    • Local: http://localhost:5000
    • Production: Configured domain with reverse proxy

πŸ—„οΈ Database Architecture

Core Data Models

  • Student Model: Academic profiles, skills inventory, preferences, and demographic data
  • Department Model: Organizational profiles with ministry information and contact details
  • Admin Model: System administrator accounts with elevated permissions
  • Internship Model: Detailed opportunity listings with requirements, quotas, and metadata
  • Match Model: AI-generated compatibility records with detailed scoring breakdowns
  • Application Model: Complete application lifecycle tracking from submission to decision

Data Relationships

  • One-to-Many: Departments to Internships, Students to Applications
  • Many-to-Many: Students to Internships (through Matches), Applications with status tracking
  • Computed Fields: Profile completeness scores, match percentages, quota utilization

Performance Optimizations

  • Indexed Queries: Strategic database indexes for fast matching algorithm execution
  • Relationship Loading: Optimized eager loading for complex queries
  • Connection Pooling: Database connection management for concurrent users

πŸ›‘οΈ Security & Compliance

Authentication Security

  • OAuth 2.0 Integration: Industry-standard Google authentication
  • Password Security: Werkzeug-based hashing with salt for traditional login
  • Session Management: Secure server-side sessions with CSRF tokens
  • Multi-Factor Ready: Architecture supports 2FA implementation

Data Protection

  • Input Validation: Comprehensive server-side validation for all user inputs
  • SQL Injection Prevention: Parameterized queries and ORM-based database access
  • XSS Protection: Template auto-escaping and CSP headers
  • Privacy Compliance: GDPR-ready data handling and user consent management

Infrastructure Security

  • Environment Variables: Secure configuration management for sensitive data
  • HTTPS Ready: SSL/TLS configuration for encrypted communications
  • Audit Logging: Comprehensive activity logging for security monitoring
  • Access Controls: Role-based permissions with principle of least privilege

🌐 Production Deployment

Deployment Configuration

# Production WSGI Server
gunicorn --bind=0.0.0.0:5000 --reuse-port --workers=4 app:app

# With Process Management
gunicorn --bind=0.0.0.0:5000 --reuse-port --workers=4 --worker-class=sync app:app

Infrastructure Requirements

  • Web Server: Nginx reverse proxy (recommended)
  • Database: PostgreSQL 13+ with connection pooling
  • Caching: Redis for session storage (optional)
  • Monitoring: Application performance monitoring and error tracking

Environment Variables (Production)

# Database Configuration
DATABASE_URL=postgresql://user:password@host:port/database

# Security Configuration  
SESSION_SECRET=cryptographically-strong-secret-key
FLASK_ENV=production

# OAuth Configuration
GOOGLE_CLIENT_ID=your-production-client-id
GOOGLE_CLIENT_SECRET=your-production-client-secret

# Optional Configuration
MAIL_SERVER=smtp.example.com
MAIL_USERNAME=notifications@example.com
MAIL_PASSWORD=secure-password

πŸ”— API Reference

Authentication Endpoints

  • GET / - Landing page with authentication options
  • POST /login - Traditional username/password authentication
  • GET /logout - User session termination
  • GET /auth/google - Google OAuth 2.0 initiation
  • GET /oauth2callback - Google OAuth callback handling

Student Interface

  • GET /student/dashboard - Personalized dashboard with recent matches
  • GET /student/profile - Profile viewing and completeness tracking
  • POST /complete_student_profile - Profile updates and skill management
  • GET /student/generate-matches - AI-powered match generation
  • GET /student/matches - Comprehensive match listing with color indicators
  • POST /student/apply/<internship_id> - Application submission workflow
  • GET /student/applications - Application status tracking

Department Interface

  • GET /department/dashboard - Department overview with statistics
  • GET /department/profile - Organizational profile management
  • POST /internship/create - New internship opportunity creation
  • POST /internship/edit/<internship_id> - Internship modification
  • GET /department/applications - All applications with match percentages
  • GET /internship/<internship_id>/applications - Specific internship applications
  • POST /application/update-status - Application status management

Administrative Interface

  • GET /admin/dashboard - System-wide analytics and monitoring
  • GET /admin/departments - Department account management
  • POST /admin/create-department - New department account creation

πŸ”„ Development Workflow

Local Development Setup

  1. Environment Preparation

    python -m venv venv
    source venv/bin/activate  # Windows: venv\Scripts\activate
    pip install -r requirements.txt
  2. Database Setup

    flask db init
    flask db migrate -m "Initial migration"
    flask db upgrade
  3. Development Server

    python main.py
    # Runs on http://localhost:5000 with auto-reload

Database Migration Management

# Create new migration
flask db migrate -m "Description of changes"

# Apply migrations
flask db upgrade

# Rollback migrations  
flask db downgrade

Testing & Quality Assurance

  • Unit Testing: Comprehensive test coverage for matching algorithms
  • Integration Testing: End-to-end workflow validation
  • Performance Testing: Load testing for concurrent user scenarios
  • Security Testing: Vulnerability assessment and penetration testing

πŸ“ˆ Analytics & Monitoring

Key Metrics Tracking

  • Match Quality: Success rate of applications from high-percentage matches
  • User Engagement: Profile completion rates and platform usage patterns
  • Diversity Metrics: Affirmative action goal achievement tracking
  • System Performance: Response times and algorithm execution efficiency

Built-in Analytics

  • Dashboard Metrics: Real-time statistics for administrators
  • Matching Effectiveness: Algorithm performance monitoring
  • User Behavior Analysis: Platform usage patterns and optimization opportunities
  • Quota Monitoring: Diversity goal tracking and reporting

🀝 Contributing Guidelines

Development Standards

  1. Code Quality: Follow PEP 8 style guidelines with black formatting
  2. Documentation: Comprehensive docstrings and inline comments
  3. Testing: Maintain test coverage above 80% for new features
  4. Security: Security review required for authentication and data handling changes

Contribution Process

  1. Fork the repository and create feature branch
  2. Implement changes with comprehensive testing
  3. Update documentation and add migration scripts if needed
  4. Submit pull request with detailed description
  5. Code review and quality assurance validation
  6. Deployment to staging environment for final testing

πŸ“ž Support & Maintenance

Technical Support

  • Documentation: Comprehensive user guides and API documentation
  • Issue Tracking: GitHub issues for bug reports and feature requests
  • Community Support: Developer community for implementation guidance
  • Enterprise Support: Dedicated support for large-scale deployments

Maintenance Schedule

  • Security Updates: Monthly security patch reviews and applications
  • Feature Updates: Quarterly feature releases with user feedback integration
  • Algorithm Updates: Bi-annual matching algorithm improvements
  • Infrastructure Updates: Annual infrastructure and dependency updates

πŸ“„ License & Compliance

This project is developed for government internship programs and follows applicable government software licensing guidelines. The system complies with:

  • Data Protection Regulations: GDPR compliance for user data handling
  • Accessibility Standards: WCAG 2.1 AA compliance for inclusive design
  • Government Security: Security standards for government software systems
  • Open Source Components: All dependencies use compatible open-source licenses

🎯 Future Roadmap

Planned Features

  • Mobile Application: Native iOS and Android apps with full feature parity
  • Advanced Analytics: Machine learning insights for improved matching algorithms
  • Integration APIs: External system integration for academic institutions
  • Real-time Notifications: Email and SMS notifications for application updates
  • Video Interviews: Integrated video interview scheduling and management
  • Portfolio Integration: GitHub, LinkedIn, and other professional portfolio connections

Technical Improvements

  • Microservices Architecture: Scalable service-oriented architecture
  • Advanced Caching: Redis-based caching for improved performance
  • ML Pipeline: Automated machine learning model training and deployment
  • API Gateway: RESTful API gateway for third-party integrations

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • HTML 58.7%
  • Python 31.0%
  • CSS 6.2%
  • JavaScript 3.9%
  • Mako 0.2%