SkillMap Server เป็นส่วน Backend ของระบบ SkillMap Client ที่พัฒนาขึ้นเพื่อสร้างแพลตฟอร์มอัจฉริยะสำหรับการวิเคราะห์ตลาดแรงงาน พร้อมระบบจับคู่ทักษะที่เชื่อมโยงความสามารถของผู้ใช้กับตำแหน่งงานที่เหมาะสม เพื่อเพิ่มโอกาสในการพัฒนาอาชีพด้านเทคโนโลยีสารสนเทศและการสื่อสารอย่างตรงจุด
- แสดงแนวโน้มตลาดงานในปัจจุบัน
- จับคู่ทักษะกับหมวดหมู่และตำแหน่งงานที่เหมาะสม
- รวบรวมข้อมูล
- ดึงข้อมูลตำแหน่งงานจากเว็บไซต์หางานโดยอัตโนมัติ
- วิเคราะห์และสกัดทักษะจากประกาศรับสมัครงานด้วย AI
- แปลงภาพโปสเตอร์ประกาศรับสมัครงานเป็นข้อความเพื่อช่วยในการรวบรวมข้อมูลตำแหน่งงานด้วย AI
- Python 3.10.7 หรือสูงกว่า
- MySQL Server 8.0.41
- pip (Package Installer for Python)
- เชื่อมต่ออินเทอร์เน็ตสำหรับการใช้งาน API ภายนอก
git clone https://github.com/peerapoljantimee/skillmap-server.git
cd skillmap-serverpython -m venv env
# สำหรับ Windows
env\Scripts\activate
# สำหรับ Linux/Mac
# source env/bin/activatepip install -r requirements.txt- ดาวน์โหลดและติดตั้ง MySQL Community Server 8.0.41
- ติดตั้ง MySQL Workbench (แนะนำสำหรับการจัดการฐานข้อมูล)
- เปิด MySQL Workbench และเชื่อมต่อกับ MySQL Server ของคุณ
- เลือกแท็บ "Administration" ที่ด้านซ้าย
- ในส่วน "Management" เลือก "Data Import/Restore"
- เลือก "Import frorm Dump Project Folder" และเรียกดูไปที่โฟลเดอร์
...\employment_analytics_db_dump\Structure_Onlyในโปรเจค - ที่ "Default Schema to be Imported To" เลือก "New" และตั้งชื่อเป็น
employment_analytics_db - คลิก "Start Import" เพื่อสร้างโครงสร้างฐานข้อมูล
สร้างไฟล์ .env ในโฟลเดอร์หลักของโปรเจคและเพิ่มข้อมูลต่อไปนี้:
# การตั้งค่า MySQL
DB_USER={ชื่อผู้ใช้}
DB_PASS={รหัสผ่าน}
DB_HOST=127.0.0.1
DB_PORT=3306
DB_NAME=employment_analytics_db
# API Keys
ANTHROPIC_API_KEY="เเทน ANTHROPIC API KEY ของคุณ"
GEMINI_API_KEY="เเทน GEMINI API KEY ของคุณ"
OPENAI_API_KEY="เเทน OPENAI API KEY ของคุณ"
GOOGLE_APPLICATION_CREDENTIALS="app\utils\image_to_text\google_openai\{เเทน GOOGLE VISION API KEY ของคุณ}.json"
หมายเหตุ: อย่าเผยแพร่ไฟล์
.envที่มีข้อมูลจริงลงใน GitHub หรือระบบควบคุมเวอร์ชันอื่นๆ
# เปิดใช้งาน environment (ถ้ายังไม่ได้เปิดใช้งาน)
env\Scripts\activate
# เริ่มต้นเซิร์ฟเวอร์
fastapi dev .\app\main.pyโปรเจคนี้ใช้โครงสร้างแบบ Routes and Controllers เพื่อจัดการ API endpoints และ business logic
skillmap-server/
└── app/
├── controller/ # จัดการ business logic และคำสั่ง SQL
├── repository/ # จัดการการเชื่อมต่อฐานข้อมูล
├── routers/ # กำหนด API endpoints
├── utils/ # เครื่องมือและฟังก์ชันเสริม
│ ├── image_to_text/ # แปลงภาพเป็นข้อความด้วยเทคโนโลยี AI
│ ├── scraping/ # ดึงข้อมูลจากเว็บไซต์หางาน
│ ├── simplified/ # ประมวลผลและลดความซับซ้อนของข้อมูล
│ ├── skill_extractors/ # สกัดทักษะจากข้อความด้วยเทคโนโลยี AI
│ └── skill_mapping/ # จับคู่ทักษะกับหมวดหมู่ที่เกี่ยวข้อง
├── dependencies.py # dependency injection
└── main.py # entry point ของแอปพลิเคชัน
- Controllers: จัดการ business logic, ประมวลผลข้อมูล และทำงานกับฐานข้อมูลผ่าน SQL queries
- Routers: กำหนด API endpoints และเส้นทางไปยัง controller ที่เหมาะสม
- Repository: จัดการการเชื่อมต่อกับฐานข้อมูล
- Utils:
image_to_text: แปลงภาพโปสเตอร์ประกาศรับสมัครงานเป็นข้อความด้วยเทคโนโลยี AI จาก Gemini และ Google OCR + GPT สำหรับรวบรวมข้อมูลตำแหน่งงานscraping: ดึงข้อมูลตำแหน่งงานจากเว็บไซต์หางาน JobsDBsimplified: ทำหน้าที่ประมวลผลและลดความซับซ้อนของข้อมูลskill_extractors: สกัดทักษะจากรายละเอียดงานด้วยเทคโนโลยี AI จาก Anthropic AIskill_mapping: จับคู่ทักษะกับหมวดหมู่และทำการวิเคราะห์ความเกี่ยวข้อง
