Intelligently connecting talent with opportunity using advanced AI.
Samarth is an AI-powered job matching platform developed for the Execute 4.0 Hackathon at DTU (Delhi Technical University). The platform uses advanced semantic matching algorithms to connect job seekers with the right opportunities and provides actionable feedback to improve application success rates.
- Resume upload and AI-powered analysis
- Personalized job recommendations
- Detailed match analysis with job postings
- Resume improvement suggestions
- Application tracking
- Intelligent job posting creation
- Automatic candidate ranking and filtering
- In-depth match analytics
- Market analysis for skill trends
- Candidate pipeline management
The simplest way to run the application is using Docker:
# Clone the repository
git clone <your-repository-url>
cd job-matching-platform
# Build and start the Docker containers
docker-compose up -d
# Access the application at http://localhost:8000- Python 3.9+
- SQLite (pre-installed on most systems)
- Google API key for Gemini (for AI features)
-
Clone the repository
git clone <your-repository-url> cd job-matching-platform
-
Create a virtual environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Set up environment variables Create a
.envfile in the project root with the following variables:GEMINI_API_KEY=your_gemini_api_key SECRET_KEY=a_secret_key_for_jwt -
Run the application
python main.py
-
Access the application Open your browser and navigate to
http://localhost:8000
├── api.py # API endpoints
├── core/ # Core configuration
│ ├── config.py # Application settings
│ └── security.py # Authentication logic
├── db/ # Database
│ └── database.py # Database connection
├── models.py # Database models
├── schemas.py # Data validation schemas
├── services.py # Business logic services
├── ui.py # UI routes and handlers
├── main.py # Application entry point
├── templates/ # Jinja2 templates
│ ├── auth/ # Authentication templates
│ ├── dashboard/ # Dashboard templates
│ ├── resumes/ # Resume templates
│ ├── jobs/ # Job templates
│ ├── applications/ # Application templates
│ ├── analysis/ # Analysis templates
│ └── base.html # Base template
├── static/ # Static files
│ ├── css/ # CSS files
│ ├── js/ # JavaScript files
│ └── img/ # Images
├── uploads/ # Uploaded resume files
├── requirements.txt # Python dependencies
├── Dockerfile # Docker configuration
└── docker-compose.yml # Docker Compose configuration
The API documentation is available at /docs or /redoc when the application is running.
/api/v1/auth/register- Register a new user/api/v1/auth/login- Login and get access token/api/v1/resumes- Resume management/api/v1/jobs- Job management/api/v1/applications- Application management/api/v1/match- Match resumes to jobs/api/v1/recommendations/{resume_id}- Get job recommendations/api/v1/market-analysis- Get market analysis data
- Backend: FastAPI, SQLAlchemy, Pydantic
- Frontend: Jinja2, TailwindCSS, DaisyUI, Alpine.js, Chart.js
- AI: Google Gemini Pro
- Database: SQLite (can be scaled to PostgreSQL)
- Authentication: JWT
This project is licensed under the MIT License - see the LICENSE file for details.