https://github.com/malu2003/resume-screener
๐ฏ AI-powered resume analysis tool with smart chatbot. Built with Angular & NestJS using Gemini AI. Get match scores, optimization tips & career advice. ๐
https://github.com/malu2003/resume-screener
angular chatbot gemini-ai nestjs resume-analyzer resume-tips
Last synced: about 2 months ago
JSON representation
๐ฏ AI-powered resume analysis tool with smart chatbot. Built with Angular & NestJS using Gemini AI. Get match scores, optimization tips & career advice. ๐
- Host: GitHub
- URL: https://github.com/malu2003/resume-screener
- Owner: Malu2003
- Created: 2025-06-19T05:48:25.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-19T06:04:35.000Z (about 1 year ago)
- Last Synced: 2025-06-19T07:19:19.625Z (about 1 year ago)
- Topics: angular, chatbot, gemini-ai, nestjs, resume-analyzer, resume-tips
- Language: TypeScript
- Homepage:
- Size: 236 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐ฏ Resume Screening Tool with AI Chatbot
**A powerful, AI-driven resume analysis tool that helps job seekers optimize their resumes for better job matches.**
Built with Angular, NestJS, and Google's Gemini AI.
---
## ๐ญ **How It Works - Application Flow**
```mermaid
graph TD
A[๐ค User uploads Resume] --> B[๐ File Processing]
B --> C[๐ Text Extraction]
C --> D[๐ค AI Analysis via Gemini]
D --> E[๐ Generate Match Score]
E --> F[๐ Create Detailed Report]
F --> G[๐ฌ AI Chatbot Ready]
G --> H{User Interaction}
H -->|Ask Questions| I[๐ง Contextual AI Response]
H -->|New Analysis| A
I --> J[๐ก Personalized Advice]
J --> H
style A fill:#e1f5fe
style D fill:#f3e5f5
style G fill:#e8f5e8
style I fill:#fff3e0
```
## ๐๏ธ **System Architecture**
```mermaid
graph LR
subgraph "Frontend (Angular)"
A[Resume Upload Form]
B[Results Dashboard]
C[AI Chatbot Interface]
end
subgraph "Backend (NestJS)"
D[Resume Controller]
E[AI Service]
F[File Parser Utility]
end
subgraph "External Services"
G[Google Gemini AI]
end
A --> D
B --> D
C --> D
D --> E
D --> F
E --> G
style A fill:#e3f2fd
style B fill:#e8f5e8
style C fill:#fff3e0
style E fill:#f3e5f5
style G fill:#ffebee
```
## ๐ **Data Flow Diagram**
```mermaid
sequenceDiagram
participant U as ๐ค User
participant F as ๐ฅ๏ธ Frontend
participant B as โ๏ธ Backend
participant AI as ๐ค Gemini AI
U->>F: Upload Resume + Job Description
F->>B: POST /api/resume/match-resume
B->>B: Extract text from file
B->>AI: Send resume text + job description
AI->>B: Return analysis results
B->>F: Formatted analysis response
F->>U: Display results + Enable chatbot
Note over U,AI: Chatbot Interaction Flow
U->>F: Ask question via chatbot
F->>B: POST /api/resume/chat
B->>AI: Generate contextual response
AI->>B: Personalized advice
B->>F: Chatbot response
F->>U: Display AI advice
```
---
---
## ๐ธ **Application Screenshots**
### ๐ฏ **Complete User Journey**
#### **๐ Landing Page - Resume Analysis Hub**
Clean, professional interface with clear call-to-action for resume analysis
---
#### **๐ Upload Interface - File Selection & Job Description**
Form for uploading resume files and pasting job descriptions
#### **๐ Analysis Results - Comprehensive Sentiment Dashboard**
Detailed analysis with match score, strengths, weaknesses, and keyword analysis
---
#### **๐ช Strengths & Improvements - Detailed Feedback**

---
#### **๐ช Recommendations - Detailed Feedback**

---
#### **๐ฌ AI Chatbot Interface - Interactive Q&A**
Conversational AI interface for asking specific questions about resume analysis
---
## โจ **Features Showcase**
### ๐ **Smart Resume Analysis**
- ๐ฏ **AI-Powered Matching**: Uses Google Gemini AI for intelligent resume-job matching
- ๐ **Match Score Calculation**: Get a precise compatibility score (0-100%)
- ๐ **Keyword Analysis**: Identifies matched and missing keywords
- ๐ช **Strengths & Improvements**: Detailed feedback on resume strengths and areas for improvement
### ๐ฌ **Interactive AI Chatbot**
- ๐ฏ **Personalized Advice**: Ask specific questions about your resume analysis
- โก **Real-time Responses**: Get instant, contextual career advice
- โ **Follow-up Questions**: Smart suggestions for deeper insights
- ๐ **Resume Optimization Tips**: Actionable recommendations for improvement
### ๐ **Comprehensive Analytics**
- ๐จ **Visual Match Score**: Color-coded scoring system
- ๐ **Detailed Breakdown**: Technical skills, experience, and qualifications analysis
- ๐ **Priority Recommendations**: High/Medium/Low priority improvement suggestions
- ๐ผ **Professional Insights**: Industry-standard resume optimization advice
### ๐จ **Modern UI/UX**
- ๐ฑ **Responsive Design**: Works perfectly on desktop and mobile
- ๐ฅ๏ธ **Intuitive Interface**: Clean, user-friendly design
- โฑ๏ธ **Real-time Loading**: Smooth animations and progress indicators
- โฟ **Accessibility**: WCAG compliant design
---
## ๐ **Quick Start Guide**
### ๐ **Prerequisites**
```bash
โ
Node.js (v18+ recommended)
โ
npm or yarn
โ
Google Gemini API Key
```
### 1๏ธโฃ **Clone the Repository**
```bash
git clone https://github.com/Malu2003/resume-screening.git
cd resume-screening-tool
```
### 2๏ธโฃ **Backend Setup**
```bash
cd backend
npm install
# Create environment file
echo "GEMINI_API_KEY=your_gemini_api_key_here" > .env
echo "PORT=3000" >> .env
```
### 3๏ธโฃ **Frontend Setup**
```bash
cd ../frontend
npm install
```
### 4๏ธโฃ **Start the Application**
```bash
# Terminal 1: Start Backend
cd backend && npm run start:dev
# Terminal 2: Start Frontend
cd frontend && ng serve
```
### 5๏ธโฃ **Open Your Browser**
Navigate to **http://localhost:4200** ๐
---
## ๐ ๏ธ **Technology Stack**
| **Frontend** | **Backend** | **AI & APIs** |
|:---:|:---:|:---:|
|  |  |  |
|  |  |  |
|  |  |  |
---
## ๐ **Project Structure**
```
๐๏ธ resume-screening-tool/
โโโ ๐ฅ๏ธ frontend/ # Angular Application
โ โโโ ๐ src/
โ โ โโโ ๐ app/
โ โ โ โโโ ๐ components/
โ โ โ โ โโโ ๐ resume-form/ # File Upload Component
โ โ โ โ โโโ ๐ results/ # Analysis Results Display
โ โ โ โ โโโ ๐ฌ chatbot/ # AI Chatbot Interface
โ โ โ โโโ ๐ง services/ # Angular Services
โ โ โ โโโ ๐ models/ # TypeScript Interfaces
โ โ โโโ ๐จ assets/ # Static Assets
โ โโโ ๐ฆ package.json
โโโ โ๏ธ backend/ # NestJS Application
โ โโโ ๐ src/
โ โ โโโ ๐ resume/ # Resume Analysis Module
โ โ โ โโโ ๐ฎ resume.controller.ts
โ โ โ โโโ ๐ง resume.service.ts
โ โ โ โโโ ๐ฆ resume.module.ts
โ โ โโโ ๐ค services/
โ โ โ โโโ ๐ง ai.service.ts # Gemini AI Integration
โ โ โโโ ๐ ๏ธ utils/
โ โ โโโ ๐ file-parser.util.ts # File Processing Utilities
โ โโโ ๐ฆ package.json
โโโ ๐ README.md
โโโ ๐ซ .gitignore
โโโ ๐ LICENSE
```
---
## ๐ฎ **Usage Examples & Screenshots**
### 1๏ธโฃ **Upload Resume**
```
๐ Select your resume file (PDF, DOC, DOCX)
๐ Paste the job description
๐ Click "Analyze Resume"
โณ Wait for AI analysis (typically 10-15 seconds)
```
### 2๏ธโฃ **View Results**
```
๐ Get detailed match score and visual analytics
๐ช Review strengths and improvement areas
๐ Check keyword analysis and gap identification
๐ See priority-ranked recommendations
```
### 3๏ธโฃ **Chat with AI**
```
๐ฌ Click "Ask Questions" button
โ Ask specific questions like:
โข "Why did I get this match score?"
โข "How can I improve my technical skills section?"
โข "What should I focus on first?"
โข "Can you explain the missing keywords?"
```
---
## ๐ **Environment Setup**
Create `.env` file in backend directory:
```env
# ๐ Required - Get from Google AI Studio
GEMINI_API_KEY=your_gemini_api_key_here
# โ๏ธ Optional Configuration
PORT=3000
NODE_ENV=development
MAX_FILE_SIZE=10485760 # 10MB in bytes
ALLOWED_FILE_TYPES=pdf,doc,docx
CORS_ORIGIN=http://localhost:4200
# ๐ Rate Limiting (Optional)
RATE_LIMIT_WINDOW=15 # minutes
RATE_LIMIT_MAX=100 # requests per window
```
---
### **Development Workflow**
```bash
# 1๏ธโฃ Fork the repository
git clone https://github.com/YOUR_USERNAME/resume-screening.git
# 2๏ธโฃ Create feature branch
git checkout -b feature/amazing-feature
# 3๏ธโฃ Make your changes
# ... code changes ...
# 4๏ธโฃ Commit changes
git commit -m 'โจ Add amazing feature'
# 5๏ธโฃ Push to branch
git push origin feature/amazing-feature
# 6๏ธโฃ Open Pull Request
```
### **Code Style Guidelines**
- ๐ฏ Use TypeScript for type safety
- ๐ Follow Angular/NestJS conventions
- ๐งช Write tests for new features
- ๐ Update documentation
- ๐ Ensure responsive design
---
## ๐ **Acknowledgments**
**Special thanks to the amazing open-source community and tools that make this project possible:**
| **๐ค AI & ML** | **๐ ๏ธ Frameworks** | **โ๏ธ Services** |
|:---:|:---:|:---:|
| [Google Gemini AI](https://ai.google.dev) | [Angular](https://angular.io) | [GitHub](https://github.com) |
| Machine Learning Community | [NestJS](https://nestjs.com) | [npm](https://npmjs.com) |
| Open Source AI Models | [TypeScript](https://typescriptlang.org) | [Node.js](https://nodejs.org) |
**Response Time:** Usually within 24 hours โก
---
## ๐ **Show Your Support**