Skip to content

Latest commit

ย 

History

31 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ TalentSync

AI-Powered Career Assistant | AI้ฉฑๅŠจ็š„ๆ™บ่ƒฝๆฑ‚่ŒๅŠฉๆ‰‹

Resume Analysis, Job Matching, Cover Letter Generation ็ฎ€ๅކๅˆ†ๆžใ€่ŒไฝๅŒน้…ใ€ๆฑ‚่Œไฟก็”Ÿๆˆ

Live Demo React Node.js MongoDB

๐Ÿ“– Project Overview | ้กน็›ฎ็ฎ€ไป‹

TalentSync is a full-stack web application that helps job seekers improve their success rate through AI technology. The platform provides resume-to-job matching analysis, intelligent cover letter generation, and more. It supports multiple AI models (GPT-4o, GPT-o1, Google Gemini) to help users optimize resumes, target applications, and prepare for interviews.

TalentSync ๆ˜ฏไธ€ไธชๅ…จๆ ˆ Web ๅบ”็”จ๏ผŒๅธฎๅŠฉๆฑ‚่Œ่€…้€š่ฟ‡ AI ๆŠ€ๆœฏๆๅ‡ๆฑ‚่ŒๆˆๅŠŸ็އใ€‚ๅนณๅฐๆไพ›็ฎ€ๅކไธŽ่ŒไฝๅŒน้…ๅบฆๅˆ†ๆžใ€ๆ™บ่ƒฝๆฑ‚่Œไฟก็”Ÿๆˆ็ญ‰ๆ ธๅฟƒๅŠŸ่ƒฝ๏ผŒๆ”ฏๆŒๅคš็ง AI ๆจกๅž‹๏ผˆGPT-4oใ€GPT-o1ใ€Google Gemini๏ผ‰๏ผŒๅธฎๅŠฉ็”จๆˆทไผ˜ๅŒ–็ฎ€ๅކใ€็ฒพๅ‡†ๆŠ•้€’ใ€ๅšๅฅฝ้ข่ฏ•ๅ‡†ๅค‡ใ€‚

๐ŸŒ Live Demo | ๅœจ็บฟๆผ”็คบ

๐Ÿ”— Visit Demo | ่ฎฟ้—ฎๆผ”็คบ

Currently in test mode - all features are free to experience ๅฝ“ๅ‰ไธบๆต‹่ฏ•่ฟ่ฅ็‰ˆๆœฌ๏ผŒๆ‰€ๆœ‰ๅŠŸ่ƒฝๅ…่ดนๅผ€ๆ”พไฝ“้ชŒ


โœจ Core Features | ๆ ธๅฟƒๅŠŸ่ƒฝ

๐Ÿ“Š Resume-to-Job Matching Analysis | ็ฎ€ๅކไธŽ่ŒไฝๅŒน้…ๅˆ†ๆž

  • ATS Analysis | ATS ๅˆ†ๆž: Keyword matching, format checking, pass probability assessment
  • Ranking Analysis | ๆŽ’ๅๅˆ†ๆž: Predict ranking percentile, compare with top candidates
  • HR Analysis | HR ๅˆ†ๆž: First impression assessment, interview recommendation, expression issue identification
  • Technical Analysis | ๆŠ€ๆœฏๅˆ†ๆž: Credibility assessment, risk identification, expected interview questions prediction

โœ๏ธ Intelligent Cover Letter Generation | ๆ™บ่ƒฝๆฑ‚่Œไฟก็”Ÿๆˆ

  • Automatically generate personalized cover letters based on resume and target job
  • Highlight relevant experience and skill matching
  • Support multiple languages and styles
  • One-click PDF export

๐Ÿ’ผ Job Management | ่Œไฝ็ฎก็†

  • Intelligent job description parsing (JD Parsing)
  • Structured job information storage
  • Job status tracking (Saved, Applied, Interviewing, Offered, Rejected)

๐Ÿ” User System | ็”จๆˆท็ณป็ปŸ

  • Email registration/login
  • Google OAuth 2.0 login
  • JWT authentication
  • Subscription management (Free, Premium, Enterprise)

๐Ÿ› ๏ธ Tech Stack

Frontend

  • Framework: React 18.2.0
  • Routing: react-router-dom v6.30.0
  • State Management: Redux Toolkit v2.6.1
  • Styling: Tailwind CSS + Material-UI v7.0.0
  • Animation: Framer Motion v12.12.1
  • PDF Processing: jspdf + html2pdf.js
  • Charts: ECharts v5.6.0

Backend

  • Runtime: Node.js
  • Framework: Express.js v4.21.2
  • Database: MongoDB + Mongoose v8.13.0
  • Authentication: JWT + Google OAuth 2.0 + bcryptjs
  • AI Services: OpenAI (GPT-4o, GPT-o1) + Google Gemini
  • Payment: Stripe v18.1.0
  • File Processing: multer + pdf-parse + pdfkit

Deployment

  • Frontend: Vercel
  • Backend: Railway
  • Database: MongoDB Atlas

๐Ÿ“ Project Structure

TalentSync/
โ”œโ”€โ”€ backend/                        # Backend service
โ”‚   โ”œโ”€โ”€ app.js                      # Express app entry
โ”‚   โ”œโ”€โ”€ setup.js                    # Initialization
โ”‚   โ”œโ”€โ”€ models/                     # Mongoose models
โ”‚   โ”‚   โ”œโ”€โ”€ User.js                 # User model
โ”‚   โ”‚   โ”œโ”€โ”€ Subscription.js         # Subscription model
โ”‚   โ”‚   โ”œโ”€โ”€ Resume.js               # Resume model
โ”‚   โ”‚   โ”œโ”€โ”€ Analysis.js             # Analysis model
โ”‚   โ”‚   โ”œโ”€โ”€ CoverLetter.js          # Cover letter model
โ”‚   โ”‚   โ””โ”€โ”€ UserJob.js              # User-job relation
โ”‚   โ”œโ”€โ”€ controllers/                # Business controllers
โ”‚   โ”œโ”€โ”€ routes/                     # Route definitions
โ”‚   โ”œโ”€โ”€ middleware/                 # Middleware
โ”‚   โ”œโ”€โ”€ services/                   # Business services
โ”‚   โ””โ”€โ”€ config/                     # Configuration
โ”œโ”€โ”€ frontend/                       # Frontend project
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ pages/                  # Page components
โ”‚   โ”‚   โ”œโ”€โ”€ components/             # Reusable components
โ”‚   โ”‚   โ”œโ”€โ”€ store/                  # Redux state management
โ”‚   โ”‚   โ””โ”€โ”€ services/               # API services
โ”‚   โ””โ”€โ”€ public/                     # Static assets
โ””โ”€โ”€ README.md                       # Project documentation

๐Ÿš€ Quick Start

Prerequisites

  • Node.js >= 16.0.0
  • MongoDB (local or MongoDB Atlas)
  • npm or yarn

Installation

  1. Clone the repository
git clone https://github.com/songzhiyuan98/TalentSync.git
cd talentsync
  1. Install backend dependencies
cd backend
npm install
  1. Install frontend dependencies
cd ../frontend
npm install
  1. Configure environment variables

Create backend/.env:

MONGO_URI=mongodb://localhost:27017/talentsync
OPENAI_API_KEY=sk-proj-...
GEMINI_API_KEY=...
JWT_SECRET=your_jwt_secret
PORT=3001
GOOGLE_CLIENT_ID=...
GOOGLE_CLIENT_SECRET=...
API_URL=http://localhost:3001
FRONTEND_URL=http://localhost:3000
STRIPE_SECRET_KEY=sk_test_...
STRIPE_PUBLISHABLE_KEY=pk_test_...
STRIPE_PREMIUM_PRICE_ID=price_...
STRIPE_ENTERPRISE_PRICE_ID=price_...
STRIPE_WEBHOOK_SECRET=whsec_...

Create frontend/.env:

REACT_APP_API_URL=http://localhost:3001
  1. Start development servers

Start backend (port 3001):

cd backend
npm start

Start frontend (port 3000):

cd frontend
npm start
  1. Access the application

Open http://localhost:3000 in your browser


๐Ÿ“ก API Documentation

Authentication

  • POST /api/auth/register - User registration
  • POST /api/auth/login - User login
  • GET /api/auth/google - Google OAuth login
  • GET /api/auth/me - Get current user info
  • GET /api/auth/logout - Logout

Resume Management

  • POST /api/resumes/upload - Upload resume
  • GET /api/resumes - Get all resumes
  • GET /api/resumes/active - Get active resume
  • PUT /api/resumes/:id/set-active - Set active resume
  • DELETE /api/resumes/:id - Delete resume

Job Management

  • POST /api/jobs/parse - Parse job description
  • POST /api/jobs - Save job
  • GET /api/jobs/user - Get user's jobs
  • GET /api/jobs/:id - Get job details

Analysis

  • POST /api/analysis - Create analysis
  • GET /api/analysis/:id - Get analysis details
  • GET /api/analysis - Get user's analyses

Cover Letters

  • POST /api/cover-letters - Generate cover letter
  • GET /api/cover-letters/:id - Get cover letter
  • GET /api/cover-letters/:id/download - Download PDF

Payment & Subscription

  • POST /api/payment/create-checkout-session - Create payment session
  • GET /api/payment/get-subscription-status - Get subscription status
  • POST /api/payment/cancel-subscription - Cancel subscription

For more API details, see PROJECT_DOCUMENTATION.md


๐ŸŽฏ Subscription Plans | ่ฎข้˜…่ฎกๅˆ’

Feature Free Premium Enterprise
Gemini Model โœ… Unlimited โœ… Unlimited โœ… Unlimited
GPT-4o Analysis 1/day โœ… Unlimited โœ… Unlimited
GPT-o1 Analysis โŒ โŒ โœ… Unlimited
Cover Letter Generation โœ… โœ… โœ…

๐Ÿ”’ Security Features

  • JWT Token authentication
  • Password bcrypt encryption
  • Google OAuth 2.0 secure login
  • Stripe secure payment integration
  • File upload size limit (10MB)
  • CORS configuration
  • Helmet security headers

๐Ÿ“ Development Guidelines

  • Frontend: React functional components only, no class components
  • State Management: Redux Toolkit with unified action naming
  • API Requests: Use axios, all API paths start with /api/
  • Code Style: ES6+ syntax, use async/await
  • Naming: camelCase (variables/functions), PascalCase (component files)

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

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

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


๐Ÿ“ง Contact | ่”็ณปๆ–นๅผ


๐Ÿ™ Acknowledgments


โญ If this project helps you, please give it a Star! โญ

Made with โค๏ธ by TalentSync Team

About

An AI-powered career assistant that helps you optimize your resume, match with the right roles, generate tailored cover letters, and practice interviews through realistic simulations. Powered by GPT-4o, GPT-o1, and Gemini.

Topics

Resources

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Contributors

Languages