Skip to content

ravigithubcse/SkillSync-AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ SkillSync AI - Career Intelligence Platform

AI-powered career development platform with real-time market insights, peer mock interviews, and personalized mentorship.

React TypeScript Node.js PostgreSQL Redis Docker

✨ Features

🧠 AI Career Mentor

  • GPT-4 powered conversational career advisor
  • Personalized advice based on your profile and market data
  • Session history and actionable insights

πŸ“Š Real-Time Market Intelligence

  • Live salary trends and job demand analytics
  • Interactive charts (Recharts)
  • Skill demand heatmap with radar visualization
  • 30-day historical data tracking

🀝 Peer Mock Interviews

  • Schedule interviews with matched peers
  • WebRTC video calls via Socket.io
  • Post-interview feedback and ratings
  • Smart peer matching based on skills

πŸ“„ ATS Resume Analyzer

  • PDF upload and parsing
  • AI-powered resume scoring
  • Keyword analysis and optimization suggestions
  • Format and content scoring

πŸ’¬ Real-Time Messaging

  • Socket.io powered instant messaging
  • Conversation history
  • Typing indicators
  • Mobile-responsive chat interface

πŸ” Job Board

  • Advanced search and filtering
  • Skill-based job matching
  • Application tracking
  • Recruiter profiles

πŸ—οΈ Architecture

flowchart TB
    Client["🌐 React 18 + TypeScript
SPA Β· WebSocket Β· Chart.js"]

    subgraph BE["🟒 Node.js / Express Backend"]
        B1["πŸ” JWT Auth
+ Refresh Tokens"]
        B2["πŸ”Œ Socket.io
Real-time Events"]
        B3["πŸ“‹ REST API
CRUD Endpoints"]
    end

    subgraph ML["🐍 AI / ML Layer"]
        M1["FastAPI Microservice"]
        M2["scikit-learn
Career Matching"]
        M3["TF-IDF
Skill Extraction"]
    end

    subgraph DATA["πŸ—„οΈ Data Layer"]
        D1["🐘 PostgreSQL 16
+ Prisma ORM"]
        D2["⚑ Redis 7
Sessions Β· Cache"]
    end

    Client <-->|HTTPS / WSS| BE
    BE --> ML
    B1 <--> D2
    B3 <--> D1
    M1 --> M2 & M3

    classDef client fill:#0d47a1,stroke:#42a5f5,color:#e3f2fd
    classDef be fill:#1b5e20,stroke:#66bb6a,color:#e8f5e9
    classDef ml fill:#4a148c,stroke:#ba68c8,color:#f3e5f5
    classDef data fill:#3e2723,stroke:#ff8a65,color:#fbe9e7
    class Client client
    class B1,B2,B3 be
    class M1,M2,M3 ml
    class D1,D2 data
Loading

Request Flow:

  1. React 18 SPA communicates via HTTPS (REST) and WSS (Socket.io) for real-time peer events
  2. JWT Auth middleware secures all routes; refresh tokens are stored in Redis
  3. REST API handles career profiles, mock interview sessions, and mentorship matching via PostgreSQL
  4. Socket.io pushes live interview events, peer join/leave, and AI analysis results to all participants
  5. FastAPI ML microservice exposes career-matching and skill-extraction endpoints consumed by Node.js
  6. scikit-learn powers recommendation engines; TF-IDF extracts skill vectors from job descriptions
  7. Redis caches session state and leaderboards for sub-millisecond reads during live sessions

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • Docker & Docker Compose
  • PostgreSQL 16 (or use Docker)
  • Redis 7 (or use Docker)

Option 1: Docker Compose (Recommended)

# Clone the repository
git clone https://github.com/ravigithubcse/SkillSync-AI.git
cd SkillSync-AI

# Copy environment variables
cp backend/.env.example backend/.env

# Start all services
docker-compose up -d

# The app will be available at:
# Frontend: http://localhost:5173
# API: http://localhost:3001
# Database: localhost:5432

Option 2: Manual Setup

Backend

cd backend
npm install

# Setup database
cp .env.example .env
# Edit .env with your database credentials

npx prisma migrate dev
npx prisma db seed

npm run dev

Frontend

cd frontend
npm install
npm run dev

πŸ“ Project Structure

SkillSync-AI/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ routes/          # API routes
β”‚   β”‚   β”œβ”€β”€ middleware/      # Auth, validation, error handling
β”‚   β”‚   β”œβ”€β”€ utils/           # JWT, Redis, Socket, Logger
β”‚   β”‚   └── server.ts        # Entry point
β”‚   β”œβ”€β”€ prisma/
β”‚   β”‚   β”œβ”€β”€ schema.prisma    # Database schema
β”‚   β”‚   └── seed.ts          # Demo data
β”‚   └── Dockerfile
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ pages/           # React pages
β”‚   β”‚   β”œβ”€β”€ components/      # Reusable components
β”‚   β”‚   β”œβ”€β”€ hooks/           # Custom hooks & stores
β”‚   β”‚   β”œβ”€β”€ lib/             # API client, utils
β”‚   β”‚   └── types/           # TypeScript types
β”‚   └── Dockerfile
β”œβ”€β”€ nginx/
β”‚   └── nginx.conf           # Reverse proxy config
└── docker-compose.yml

πŸ” Environment Variables

Backend (.env)

DATABASE_URL="postgresql://user:pass@localhost:5432/skillsync"
REDIS_URL="redis://localhost:6379"
JWT_SECRET="your-super-secret-key"
OPENAI_API_KEY="sk-your-openai-key"  # Optional
FRONTEND_URL="http://localhost:5173"

🎯 Demo Accounts

Role Email Password
Job Seeker demo@skillsync.ai password123
Recruiter recruiter@techcorp.com password123

πŸ› οΈ Tech Stack

Frontend

  • React 18 + TypeScript
  • Vite (build tool)
  • Tailwind CSS + custom design system
  • Framer Motion (animations)
  • TanStack Query (data fetching)
  • Zustand (state management)
  • Recharts (data visualization)
  • Socket.io Client (real-time)
  • React Dropzone (file uploads)

Backend

  • Node.js + Express
  • TypeScript
  • Prisma ORM + PostgreSQL
  • Socket.io (WebSockets)
  • Redis (sessions/cache)
  • JWT authentication
  • OpenAI API integration
  • Winston logging
  • Helmet + CORS security

DevOps

  • Docker + Docker Compose
  • Nginx reverse proxy
  • GitHub Actions ready

πŸ“Š Database Schema

The platform uses a comprehensive schema with:

  • Users (Job Seekers & Recruiters)
  • Skills with market demand tracking
  • Job Postings with requirements
  • Applications with match scoring
  • Mentor Sessions with AI conversations
  • Mock Interviews with peer matching
  • Messages with real-time delivery
  • Market Data with historical trends

πŸ§ͺ Testing

# Backend tests
cd backend
npm test

# Frontend tests
cd frontend
npm run test

πŸ“ API Documentation

Authentication

  • POST /api/auth/register - Register new user
  • POST /api/auth/login - Login
  • GET /api/auth/me - Get current user

Jobs

  • GET /api/jobs - List jobs with filters
  • POST /api/jobs/:id/apply - Apply to job
  • GET /api/jobs/applications/my - My applications

AI Mentor

  • POST /api/mentor/chat - Chat with AI mentor
  • GET /api/mentor/sessions - Chat history

Market Data

  • GET /api/market/dashboard - Market overview
  • GET /api/market/demand-heatmap - Skill demand

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

MIT License - see LICENSE for details.

πŸ™ Acknowledgments

  • OpenAI for GPT-4 API
  • The React & Node.js communities
  • All contributors and testers

Built with ❀️ for the tech community

"Your career is a marathon, not a sprint. Let AI be your training partner."

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages