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.
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
-
Skills Compatibility (35% weight)
- TF-IDF vectorization of technical and soft skills
- Cosine similarity calculations for precise matching
- Normalized skill keyword matching with stemming
-
Academic Qualification Matching (25% weight)
- CGPA requirements and course relevance analysis
- Year of study and degree type compatibility
- Academic performance trend consideration
-
Location Preference Analysis (20% weight)
- Preferred location matching with geographic proximity
- Current location and willingness to relocate
- Remote work option compatibility
-
Sector Interest Alignment (15% weight)
- Interest-sector compatibility scoring
- Career goal alignment with opportunity sectors
- Professional development pathway matching
-
Diversity & Inclusion Factors (5% weight)
- Affirmative action category bonuses
- Geographic diversity incentives (rural/urban)
- Gender diversity considerations
- 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
- 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
- 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
- Python: 3.11+ (recommended: 3.11.5+)
- Database: PostgreSQL 13+ (SQLite supported for development)
- Memory: 2GB+ RAM for optimal performance
- Storage: 1GB+ free space
-
Clone Repository
git clone <repository-url> cd ai-internship-matching
-
Install Dependencies
pip install -r requirements.txt
-
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"
-
Initialize Database
flask db upgrade python seed.py # Optional: Load sample data -
Launch Application
python main.py
-
Access Platform
- Local:
http://localhost:5000 - Production: Configured domain with reverse proxy
- Local:
- 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
- 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
- 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
- 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
- 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
- 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 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- 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
# 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-passwordGET /- Landing page with authentication optionsPOST /login- Traditional username/password authenticationGET /logout- User session terminationGET /auth/google- Google OAuth 2.0 initiationGET /oauth2callback- Google OAuth callback handling
GET /student/dashboard- Personalized dashboard with recent matchesGET /student/profile- Profile viewing and completeness trackingPOST /complete_student_profile- Profile updates and skill managementGET /student/generate-matches- AI-powered match generationGET /student/matches- Comprehensive match listing with color indicatorsPOST /student/apply/<internship_id>- Application submission workflowGET /student/applications- Application status tracking
GET /department/dashboard- Department overview with statisticsGET /department/profile- Organizational profile managementPOST /internship/create- New internship opportunity creationPOST /internship/edit/<internship_id>- Internship modificationGET /department/applications- All applications with match percentagesGET /internship/<internship_id>/applications- Specific internship applicationsPOST /application/update-status- Application status management
GET /admin/dashboard- System-wide analytics and monitoringGET /admin/departments- Department account managementPOST /admin/create-department- New department account creation
-
Environment Preparation
python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt
-
Database Setup
flask db init flask db migrate -m "Initial migration" flask db upgrade -
Development Server
python main.py # Runs on http://localhost:5000 with auto-reload
# Create new migration
flask db migrate -m "Description of changes"
# Apply migrations
flask db upgrade
# Rollback migrations
flask db downgrade- 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
- 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
- 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
- Code Quality: Follow PEP 8 style guidelines with black formatting
- Documentation: Comprehensive docstrings and inline comments
- Testing: Maintain test coverage above 80% for new features
- Security: Security review required for authentication and data handling changes
- Fork the repository and create feature branch
- Implement changes with comprehensive testing
- Update documentation and add migration scripts if needed
- Submit pull request with detailed description
- Code review and quality assurance validation
- Deployment to staging environment for final testing
- 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
- 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
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
- 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
- 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