Skip to content

trchitho/AI-Based-Career-Recommendation-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

357 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CareerVerse - Career Development Ecosystem Powered by AI Agents

An AI-powered personalized career recommendation platform built using a monorepo architecture, consisting of Frontend (React/Vite), Backend (FastAPI), and AI-Core services (PhoBERT, vi-SBERT, NeuMF).


Team Information

Item Information
Team Code C2SE.17
Project Title CareerVerse - Career Development Ecosystem Powered by AI Agents
Mentor Nguyen Hai Minh

Team Members

No. Full Name
1 Pham Tung Duong
2 Le Thanh Thien
3 Nguyen Cong Thinh
4 Tran Chi Tho
5 Pham Hoang Thuong

Table of Contents

  1. Introduction
  2. Core Features
  3. System Architecture
  4. Technology Stack
  5. Project Structure
  6. Subscription Plans
  7. Installation Guide
  8. Environment Configuration
  9. Payment Testing Guide

Introduction

CareerVerse analyzes user personality traits through RIASEC and Big Five assessments, combined with essay analysis, to provide personalized career recommendations.

The platform integrates multiple AI techniques:

  • Text analysis using PhoBERT and vi-SBERT (768-dimensional embeddings)
  • Vector similarity search powered by pgvector
  • Career ranking using NeuMF/MLP (Neural Matrix Factorization)
  • Real-time recommendation optimization using Thompson Sampling
  • AI-powered career assistant and mock interviews through Google Gemini API

Core Features

AI Career Recommendation

  • Combines four signals:

    • Embedding Similarity (20%)
    • RIASEC Matching (45%)
    • Big Five Matching (10%)
    • NeuMF Prediction (25%)
  • Thompson Sampling continuously learns from user feedback

  • Database containing over 900 occupations based on the O*NET standard

AI Mock Interview

Text Mode

  • Interview questions generated by Gemini AI
  • Multi-dimensional answer evaluation
  • Detailed strengths, weaknesses, and improvement suggestions

Voice Mode

  • Real-time Speech-to-Text and Text-to-Speech
  • Powered by Faster-Whisper and Edge TTS

Evaluation Criteria

  • Technical Knowledge
  • Communication Skills
  • Logical Thinking
  • Experience
  • Professional Attitude

Skill Gap Analysis

  • Upload CVs in PDF, DOCX, JPG, or PNG format

  • Automatic skill extraction

  • Compare current skills against target career requirements

  • Categorize skill gaps into:

    • Critical
    • Important
    • Nice-to-have
  • Recommend courses from Coursera, Udemy, and edX

Personalized Learning Roadmap

  • Generate learning paths based on identified skill gaps
  • Progress tracking
  • Email reminders
  • Integration with a catalog of over 1,000 courses

Mentor Matching

  • Semantic similarity-based mentor matching
  • RIASEC compatibility scoring
  • Real-time chat using WebSocket

Labor Market Intelligence

  • Automatic crawling from VietnamWorks, ITViec, and TopCV every six hours
  • Industry demand trend analysis
  • Salary statistics by experience level

System Architecture

Frontend (React + Vite)
        │
        │ HTTP / WebSocket
        ▼
Backend (FastAPI - Port 8000)
        │
        ├── PostgreSQL + pgvector   ← Primary storage & vector search
        ├── Neo4j                   ← Career-Skill Knowledge Graph
        ├── Redis                   ← Session caching
        │
        │ Internal HTTP Call
        ▼
AI-Core Service (FastAPI - Port 9000)
        │
        ├── PhoBERT / vi-SBERT      ← NLP & Embeddings
        ├── NeuMF MLP               ← Collaborative Filtering
        └── Thompson Sampling       ← Bandit Optimization

Technology Stack

Frontend

  • React 18 + TypeScript — UI Framework
  • Vite — Build Tool
  • Tailwind CSS — Styling
  • React Router — Routing
  • React Query — Data Fetching & Caching
  • Axios — HTTP Client

Backend

  • FastAPI — Web Framework
  • SQLAlchemy + psycopg — ORM & PostgreSQL Driver
  • Pydantic — Data Validation
  • APScheduler — Background Job Scheduling
  • Redis — Caching
  • JWT — Authentication

Database

  • PostgreSQL 14+ with pgvector — 768-dimensional Vector Storage
  • Neo4j 5 — Career-Skill Relationship Graph
  • Redis — Session & Runtime Cache

AI / Machine Learning

  • PyTorch — Deep Learning (NeuMF)
  • HuggingFace Transformers — PhoBERT, vi-SBERT
  • FAISS — Vector Similarity Search
  • scikit-learn — Classical Machine Learning Algorithms
  • Faster-Whisper — Real-Time Speech-to-Text
  • Edge TTS — Natural Text-to-Speech

External APIs

  • Google Gemini API — Chatbot, Interview Question Generation, Answer Analysis
  • Cloudflare R2 — CV File Storage
  • VNPay / ZaloPay — Payment Gateways

Infrastructure

  • Docker & Docker Compose — Containerization
  • Uvicorn — ASGI Server

Project Structure

AI-Based-Career-Recommendation-System/
├── apps/
│   ├── backend/
│   └── frontend/
├── packages/
│   └── ai-core/
├── db/
├── docker-compose.yml
└── README.md

Backend Modules

  • Authentication
  • User Management
  • Assessments
  • Career Catalog
  • AI Recommendation Engine
  • Skill Gap Analysis
  • Mock Interview
  • Learning Path
  • Mentor Matching
  • AI Chatbot
  • Real-time Chat
  • Course Catalog
  • Job Market Data
  • Payments
  • Subscription Management
  • PDF Reports
  • Analytics
  • Content Management
  • Market Trends

Subscription Plans

Feature Free Basic (99,000 VND) Premium (199,000 VND) Pro (299,000 VND)
Assessments per Month 5 20 Unlimited Unlimited
Career Recommendations 1 5/month Full Access Full Access
Learning Roadmaps Level 1 Levels 1–2 Full Access Full Access
AI Chatbot 24/7
Voice Interview
PDF Export
RIASEC + Big Five Analysis

Installation Guide

System Requirements

Software Version Verification
Docker Desktop Latest docker --version
Python 3.11+ python --version
Node.js 18+ node --version

Minimum Requirements

  • 8GB RAM (16GB Recommended)
  • 10GB Free Storage

Step 1 — Start Databases

cd AI-Based-Career-Recommendation-System

docker compose --env-file apps/backend/.env up -d

docker compose ps

Import Database Snapshot

docker compose exec -T postgres psql -U postgres -d postgres -c "SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname='career_ai';"

docker compose exec -T postgres psql -U postgres -d postgres -c "DROP DATABASE IF EXISTS career_ai;"

docker compose exec -T postgres psql -U postgres -d postgres -c "CREATE DATABASE career_ai;"

docker compose cp db/backup/dev_snapshot_utf8.sql postgres:/tmp/dev_snapshot_utf8.sql

docker compose exec -T postgres psql -U postgres -d career_ai -v ON_ERROR_STOP=1 -f /tmp/dev_snapshot_utf8.sql

docker compose exec redis redis-cli ping

curl http://localhost:7474

Step 2 — Run AI-Core Service (Port 9000)

cd packages/ai-core

python -m venv .venv

.venv\Scripts\activate

pip install -r requirements.txt
pip install -e .

uvicorn src.api.main:app --reload --port 9000

Step 3 — Run Backend Service (Port 8000)

cd apps/backend

python -m venv .venv

.venv\Scripts\activate

pip install -r requirements.txt

pip install -e ../../packages/ai-core

pip install sentence-transformers>=2.7.0 neo4j>=5.0.0

pip install beautifulsoup4 lxml fake-useragent

pip install PyPDF2==3.0.1 edge-tts

uvicorn app.main:app --reload --port 8000

Step 4 — Run Frontend (Port 5173)

cd apps/frontend

npm install

npm run dev

Access URLs

Service URL
Main Application http://localhost:5173
Backend API Docs http://localhost:8000/docs
AI-Core API Docs http://localhost:9000/docs
Neo4j Browser http://localhost:7474
PostgreSQL localhost:5433

Environment Configuration

Create a .env file inside apps/backend/:

DATABASE_URL=postgresql://postgres:123456@localhost:5433/career_ai
AI_CORE_BASE=http://localhost:9000
ALLOWED_ORIGINS=http://localhost:5173
SECRET_KEY=your_secret_key

VNPAY_TMN_CODE=your_vnpay_tmn_code
VNPAY_HASH_SECRET=your_vnpay_hash_secret

ZALOPAY_APP_ID=your_zalopay_app_id
ZALOPAY_KEY1=your_zalopay_key1
ZALOPAY_KEY2=your_zalopay_key2

GEMINI_API_KEY=your_gemini_api_key

Payment Testing Guide

The platform integrates VNPay and ZaloPay in Sandbox mode.

VNPay Sandbox

Field Value
Bank NCB
Card Number 9704198526191432198
Cardholder Name NGUYEN VAN A
Issue Date 07/15
OTP 123456

ZaloPay Sandbox

Field Value
Card Number 4111111111111111
Cardholder Name NGUYEN VAN A
Expiry Date 06/26
CVV 123

Contact

For questions or support, please contact:

Email: tranchitho160704@gmail.com

About

CareerVerse — AI-powered career development ecosystem with multimodal personality assessment, semantic career recommendation, mentor matching, and AI interview simulation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors