| Phần | Nội Dung |
|---|---|
| 🎯 | Giới Thiệu - Tổng quan về TalentBridge |
| 🚀 | Demo - Screenshots giao diện |
| ✨ | Tính Năng Chính - 5 tính năng nổi bật |
| 🛠️ | Công Nghệ Sử Dụng - Tech stack & AI models |
| 🏗️ | Kiến Trúc Hệ Thống - System architecture |
| 📦 | Cài Đặt - Hướng dẫn cài đặt từng bước |
| 🚀 | Sử Dụng - Hướng dẫn sử dụng |
| 📖 | API Documentation - API endpoints |
| 📚 | Tài Liệu - Tài liệu kỹ thuật |
| 🎓 | Roadmap - Kế hoạch phát triển |
| 🤝 | Đóng Góp - Cách đóng góp cho project |
| 📄 | License - Giấy phép MIT |
TalentBridge là nền tảng tìm việc làm thông minh được xây dựng đặc biệt cho sinh viên Việt Nam.
Sử dụng sức mạnh của Google Gemini AI và Semantic Search, TalentBridge giúp sinh viên:
| ✅ 100% Tự Động | ✅ AI Thông Minh | ✅ Semantic Search |
|---|---|---|
| Không cần nhập tay thông tin CV | Sử dụng Google Gemini 2.5 Flash | Tìm việc theo nghĩa, không chỉ từ khóa |
| ✅ Tiếng Việt | ✅ 3,237 Công Việc | ✅ Open Source |
|---|---|---|
| Giao diện và nội dung hoàn toàn tiếng Việt | Dữ liệu thực tế từ TopCV | MIT License - Miễn phí sử dụng |
Giao diện trang chủ thân thiện với người dùng
Kéo thả file CV và xem kết quả phân tích tức thì
AI gợi ý công việc phù hợp theo kỹ năng, kinh nghiệm & mục tiêu nghề nghiệp
graph LR
A[📄 Upload PDF] --> B[🤖 AI Parse]
B --> C[📊 Structured Data]
C --> D[✅ Hiển thị thông tin]
style A fill:#e1f5ff
style B fill:#fff4e1
style C fill:#e8f5e9
style D fill:#f3e5f5
Quy trình tự động:
- 📤 Upload PDF - Kéo thả hoặc chọn file CV
- 🤖 AI Parse - Gemini AI tự động đọc và trích xuất thông tin
- 📊 Structured Data - Chuyển đổi sang JSON với đầy đủ thông tin:
- 👤 Thông tin cá nhân (tên, email, phone)
- 💪 Kỹ năng (skills)
- 🎓 Học vấn (education)
- 💼 Kinh nghiệm (experience)
- 🎯 Mục tiêu nghề nghiệp (career objective)
3 Điểm Số Chính:
| 🎯 Quality Score | 💼 Market Fit Score | ✅ Completeness Score |
|---|---|---|
| Chất lượng tổng thể (0-10) | Phù hợp với thị trường (0-10) | Đầy đủ thông tin (0-10) |
Phân Tích Chi Tiết:
- ✅ Điểm Mạnh - Những gì bạn làm tốt
⚠️ Điểm Yếu - Những gì cần cải thiện- 💡 Gợi Ý - Lời khuyên cụ thể từ AI để nâng cao chất lượng CV
Công nghệ Semantic Search:
CV của bạn → [AI Embedding] → Vector 768 chiều
↓
[ChromaDB Search]
↓
3,237 công việc → Top 5 matched
↓
[Gemini AI Ranking] → Score 0-100%
Tính năng nổi bật:
- 🔍 Semantic Search - Tìm kiếm theo nghĩa với ChromaDB
- 🎯 AI Ranking - Gemini AI xếp hạng độ phù hợp (0-100%)
- 🎛️ Smart Filters:
- 📍 Địa điểm (Hà Nội, HCM, Đà Nẵng...)
- 💰 Mức lương (10-50 triệu)
- 📅 Kinh nghiệm (0-5+ năm)
- 💼 Loại công việc (Full-time, Part-time, Remote)
- 💬 Giải Thích AI - "Tại sao công việc này phù hợp với bạn?"
6 Biểu Đồ Thống Kê:
| 📊 Top Vị Trí | 🏢 Top Công Ty | 📍 Phân Bố Địa Điểm |
|---|---|---|
| 💼 Loại Công Việc | 📅 Yêu Cầu Kinh Nghiệm | 💰 Phân Bổ Mức Lương |
Tính năng:
- 🤖 AI Insights - Phân tích xu hướng và gợi ý cho sinh viên
- 📊 Interactive Charts - Chart.js với animation mượt mà
- ⚡ Real-time Data - Dữ liệu cập nhật từ database
- ✅ 3,237 Công Việc thực tế từ TopCV
- 🔍 Tìm Kiếm Nâng Cao - Theo từ khóa, địa điểm, mức lương
- 📄 Pagination - 20 jobs/page
- 🔀 Sort - Theo mới nhất, lương cao, deadline
| Công Nghệ | Mục Đích |
|---|---|
| Logic (Vanilla JS) | |
| Biểu đồ thống kê | |
| Preview PDF | |
| UI components |
|
🤖 Gemini 2.5 Flash (
|
🔍 Gemini Embedding (
|
┌─────────────────────────────────────────────────────────────┐
│ FRONTEND │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ index │ │cv-analysis│ │ jobs │ │dashboard │ │
│ │ .html │ │ .html │ │_new.html │ │ .html │ │
│ └────┬─────┘ └─────┬─────┘ └────┬─────┘ └────┬─────┘ │
│ │ │ │ │ │
│ └──────────────┴──────────────┴─────────────┘ │
│ │ │
│ Fetch API (HTTP) │
└──────────────────────────┼──────────────────────────────────┘
│
┌──────────────────────────▼──────────────────────────────────┐
│ FASTAPI BACKEND │
│ ┌────────────────────────────────────────────────────┐ │
│ │ api/main.py - 15+ REST API Endpoints │ │
│ │ • POST /upload-cv │ │
│ │ • GET /cv/{cv_id}/insights │ │
│ │ • POST /match (Semantic Matching) │ │
│ │ • GET /jobs, /jobs/{job_id} │ │
│ │ • GET /jobs/analytics │ │
│ └────┬───────────────────────────┬────────────────┬──┘ │
│ │ │ │ │
│ ┌────▼─────┐ ┌─────────────────▼──┐ ┌─────────▼──────┐ │
│ │ AI │ │ LangChain │ │ Database │ │
│ │ Analysis │ │ Utils │ │ Utils │ │
│ │ │ │ (RAG + Matching) │ │ │ │
│ └────┬─────┘ └─────────┬─────────┘ └────┬───────────┘ │
└───────┼──────────────────┼─────────────────┼──────────────┘
│ │ │
┌───────▼──────┐ ┌────────▼────────┐ ┌────▼──────────────┐
│ Google │ │ ChromaDB │ │ SQLite │
│ Gemini AI │ │ Vector Store │ │ cv_job_matching.db│
│ │ │ │ │ │
│ • Parse CV │ │ • 3,237 jobs │ │ • cv_store │
│ • Analyze │ │ • 768-dim │ │ • job_store │
│ • Rank │ │ embeddings │ │ • cv_insights │
│ • Explain │ │ • Semantic │ │ • match_logs │
│ │ │ search │ │ • applications │
└──────────────┘ └─────────────────┘ └───────────────────┘
| 🐍 Python | 💾 RAM | 💿 Storage |
|---|---|---|
| 3.12+ | 4GB (khuyến nghị 8GB) | 2GB |
git clone https://github.com/Trinhvhao/TalentBridge.git
cd TalentBridge# Windows
python -m venv rag_env
rag_env\Scripts\activate
# Linux/Mac
python3 -m venv rag_env
source rag_env/bin/activatepip install -r requirements.txtTạo file .env trong thư mục gốc:
# 3 API keys để tránh quota limit (150 requests/day thay vì 50)
GOOGLE_API_KEY_1=AIzaSy...
GOOGLE_API_KEY_2=AIzaSy...
GOOGLE_API_KEY_3=AIzaSy...🔑 Lấy API Key:
- Truy cập https://aistudio.google.com/apikey
- Tạo 3 API keys (miễn phí)
- Copy vào file
.env
python main.py✅ Output:
============================================================
🚀 TalentBridge - Nền Tảng Tìm Việc Thông Minh
============================================================
📍 Server đang khởi động...
🌐 URL: http://localhost:9990
📚 API Docs: http://localhost:9990/docs
============================================================
INFO: Uvicorn running on http://0.0.0.0:9990
✅ Preloading completed
INFO: Application startup complete.
| 🌐 Frontend | 📚 API Docs | 🔌 API Base |
|---|---|---|
frontend/index.html |
http://localhost:9990/docs |
http://localhost:9990 |
# Mở trang cv-analysis.html
1. Kéo thả file CV.pdf vào khung upload
2. Click "Upload CV"
3. Xem thông tin được AI parse tự động
4. Click "Phân Tích CV" để xem điểm số
5. Click "Gợi Ý Cải Thiện" để nhận lời khuyên# Sau khi upload CV
1. Click "Tìm Việc Phù Hợp"
2. Chọn filters (location, salary, experience)
3. Xem top 5 jobs matched với % phù hợp
4. Đọc "Tại sao phù hợp" do AI giải thích
5. Click "Xem Chi Tiết" hoặc "Ứng Tuyển"# Mở dashboard.html
1. Xem 6 biểu đồ thống kê thị trường
2. Click "Phân Tích AI" trên mỗi biểu đồ
3. Đọc insights và gợi ý từ AITruy cập http://localhost:9990/docs để xem API documentation đầy đủ
| Method | Endpoint | Mô Tả |
|---|---|---|
POST |
/upload-cv |
Upload và parse CV |
GET |
/cvs |
Lấy danh sách CVs |
GET |
/cv/{cv_id}/insights |
Phân tích CV |
POST |
/cv/improve |
Gợi ý cải thiện CV |
POST |
/match |
⭐ Tìm việc phù hợp (Semantic) |
POST |
/jobs/search |
Tìm kiếm jobs theo từ khóa |
GET |
/jobs |
Lấy danh sách jobs |
GET |
/jobs/{job_id} |
Chi tiết job |
GET |
/jobs/analytics |
Thống kê thị trường |
POST |
/jobs/analytics/insights |
AI phân tích biểu đồ |
📘 Chi tiết: Xem docs/API_ENDPOINTS_GUIDE.md
| 📘 API Guide | 📗 Project Docs |
|---|---|
| API Endpoints Guide | Project Documentation |
| Hướng dẫn chi tiết tất cả API endpoints | Tài liệu kỹ thuật đầy đủ |
|
|
Contributions, issues và feature requests đều được chào đón!
1️⃣ Fork repository
2️⃣ Tạo branch (git checkout -b feature/AmazingFeature)
3️⃣ Commit changes (git commit -m 'Add some AmazingFeature')
4️⃣ Push to branch (git push origin feature/AmazingFeature)
5️⃣ Mở Pull Request|
Google Gemini AI Powerful LLM for CV parsing & analysis |
FastAPI High-performance async web framework |
![]() ChromaDB Vector database for semantic search |
![]() LangChain RAG framework for AI applications |
![]() TopCV Job data source (3,237 jobs) |
![]() Chart.js Beautiful interactive charts |
![]() haotrinh142@gmail.com |
![]() GitHub @Trinhvhao |
![]() Report Bug Issues |
![]() New Feature Request |
Made with ❤️ by Trịnh Văn Hào
⭐ Star this repo if you find it helpful!











