A national-level AI-driven web platform to fairly and efficiently match Indian students with the best-fit internships under the Indian Prime Minister's Internship Scheme.
- AI-Powered Recommendations: Get personalized internship matches based on skills, preferences, and academic profile
- Resume Analysis: Upload resume and get AI-extracted skills and keywords
- Profile Completion: Gamified profile completion with progress tracking
- Smart Matching: Content-based and collaborative filtering for accurate recommendations
- Application Tracking: Track application status and get feedback
- Talent Discovery: Find the best-fit students for your internships
- Advanced Filtering: Filter applications by skills, academic performance, and location
- Application Management: Manage applications, schedule interviews, and provide feedback
- Analytics Dashboard: Track application metrics and success rates
- Company Profile: Showcase company culture and internship programs
- Analytics Dashboard: Comprehensive insights into internship trends
- Skill Gap Analysis: Identify skill gaps in the Indian workforce
- Regional Insights: Analyze internship distribution across states and cities
- Success Metrics: Track placement rates and conversion statistics
- Policy Recommendations: Data-driven insights for policy decisions
- FastAPI: Modern Python web framework
- PostgreSQL: Robust relational database
- SQLAlchemy: Python SQL toolkit and ORM
- Redis: In-memory data structure store for caching
- TensorFlow: Machine learning framework
- scikit-learn: Machine learning library
- spaCy: Natural language processing library
- React.js: Modern JavaScript library for building user interfaces
- Material-UI: React component library following Material Design
- Recharts: Composable charting library for React
- Axios: HTTP client for API requests
- Docker: Containerization platform
- Docker Compose: Multi-container Docker application
- Nginx: Web server and reverse proxy
- AWS: Cloud deployment platform
- Docker and Docker Compose
- Node.js 18+ (for local development)
- Python 3.11+ (for local development)
- PostgreSQL 15+ (for local development)
- Redis 7+ (for local development)
-
Clone the repository
git clone <repository-url> cd intern-me
-
Start the application
docker-compose up -d
-
Access the application
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Documentation: http://localhost:8000/docs
-
Backend Setup
cd backend python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt python -m spacy download en_core_web_sm uvicorn main:app --reload
-
Frontend Setup
cd frontend npm install npm start -
Database Setup
# Create PostgreSQL database createdb intern_me_db # Run migrations (when available) alembic upgrade head
intern-me/
βββ backend/
β βββ main.py # FastAPI application entry point
β βββ models/ # Database models
β βββ routers/ # API route handlers
β βββ schemas/ # Pydantic models
β βββ services/ # Business logic services
β βββ core/ # Core configuration and utilities
β βββ requirements.txt # Python dependencies
βββ frontend/
β βββ src/
β β βββ components/ # Reusable React components
β β βββ pages/ # Page components
β β βββ contexts/ # React contexts
β β βββ App.js # Main React application
β βββ package.json # Node.js dependencies
βββ docker-compose.yml # Docker Compose configuration
βββ nginx.conf # Nginx configuration
βββ README.md # Project documentation
Create a .env file in the backend directory:
# Database
DATABASE_URL=postgresql://intern_user:intern_pass@localhost:5432/intern_me_db
# JWT
SECRET_KEY=your-secret-key-change-in-production
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30
# Redis
REDIS_URL=redis://localhost:6379
# File Upload
UPLOAD_DIR=uploads
MAX_FILE_SIZE=10485760
# ML Models
MODEL_PATH=models
SPACY_MODEL=en_core_web_sm- Content-Based Filtering: Matches students with internships based on skills and preferences
- Collaborative Filtering: Uses historical application data to improve recommendations
- Hybrid Approach: Combines both methods for optimal results
- Continuous Learning: Feedback loop improves recommendations over time
- NLP Processing: Extracts skills, education, and experience from resumes
- Skill Extraction: Identifies technical and soft skills
- Contact Information: Extracts email, phone, and location
- Project Recognition: Identifies projects and achievements
- Trend Analysis: Tracks internship trends over time
- Skill Gap Analysis: Identifies gaps between demand and supply
- Regional Insights: Analyzes geographic distribution
- Success Metrics: Tracks placement rates and outcomes
The API documentation is available at:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
POST /api/auth/register- User registrationPOST /api/auth/login- User loginGET /api/auth/me- Get current user
GET /api/students/profile- Get student profilePUT /api/students/profile- Update student profilePOST /api/students/upload-resume- Upload and parse resumeGET /api/students/recommendations- Get AI recommendations
GET /api/employers/profile- Get employer profilePUT /api/employers/profile- Update employer profileGET /api/employers/applications- Get applicationsGET /api/employers/statistics- Get employer statistics
GET /api/internships/- List internshipsPOST /api/internships/- Create internshipGET /api/internships/{id}- Get internship detailsPUT /api/internships/{id}- Update internship
POST /api/applications/- Apply for internshipGET /api/applications/my-applications- Get user applicationsPUT /api/applications/{id}/status- Update application status
GET /api/analytics/dashboard- Get analytics dashboardGET /api/analytics/skill-gaps- Get skill gap analysisGET /api/analytics/placement-trends- Get placement trendsGET /api/analytics/regional-analysis- Get regional analysis
cd backend
pytestcd frontend
npm test- Update environment variables for production
- Set up SSL certificates
- Configure production database
- Deploy using Docker Compose
docker-compose -f docker-compose.prod.yml up -d- Create EC2 instance
- Install Docker and Docker Compose
- Clone repository
- Configure environment variables
- Deploy application
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions:
- Email: support@intern.me
- Documentation: https://docs.intern.me
- Issues: https://github.com/intern-me/issues
- β Basic user authentication
- β Student and employer profiles
- β Internship posting and browsing
- β AI recommendation engine
- β Application management
- π Advanced analytics dashboard
- π Mobile application
- π Video interview integration
- π Skill assessment tests
- π Certificate generation
- π AI-powered interview scheduling
- π Blockchain-based certificate verification
- π Integration with university systems
- π Advanced ML models for matching
- π Multi-language support
INTERN.ME - Empowering India's future workforce through AI-driven internship matching.