SkillSync is a full-stack web application that helps users discover their ideal career paths using AI-driven predictions based on multiple intelligence scores. The platform features a modern frontend, secure authentication, and a dedicated machine learning service for career recommendations.
The system follows a microservice-style architecture, separating user management and AI prediction into independent backend services.
- 🔐 Secure user authentication (JWT-based)
- 🧠 AI-powered career prediction engine
- 📊 Personalized recommendations using ML models
- 🎨 Modern, responsive UI with theme support
- ⚙️ Scalable microservice architecture
| Component | Technology |
|---|---|
| Frontend | React, React Router, Tailwind CSS, Axios, React Context |
| Backend | Node.js, Express, MongoDB (Mongoose), JWT, bcrypt.js |
| ML | Python, FastAPI, Uvicorn, Scikit-learn, Pandas, Joblib |
To run SkillSync locally, you must start three services in separate terminals.
Ensure the following are installed on your system:
- Node.js & npm (Frontend + Auth Backend)
- Python 3.8+ & pip (ML Backend)
- MongoDB (Local instance or MongoDB Atlas)
data.xlsxfile for ML training
This service manages users, careers, and feedback.
# Navigate to auth backend directory
cd backend-auth
# Install dependencies
npm installCreate a .env file in backend-auth/:
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_keynode server.js✅ Auth Backend running at: http://localhost:5000
This service handles AI-based career predictions.
# Navigate to ML backend directory
cd backend-ml
# (Optional but recommended) Create virtual environment
python -m venv venv
source venv/bin/activate
# Install dependencies
pip install fastapi uvicorn scikit-learn pandas joblib openpyxlEnsure data.xlsx is present in the directory.
python model.pyThis generates:
profession_model.joblibprofession_encoder.joblib
uvicorn api:app --reload✅ ML Backend running at: http://localhost:8000
This is the user-facing application.
# Navigate to frontend directory
cd frontend
# Install dependencies
npm installVerify API URLs before starting:
-
src/services/api.jsbaseURL: 'http://localhost:5000/api' -
ML Prediction endpoint used as:
http://localhost:8000/predict
npm start✅ Frontend running at: http://localhost:3000
Open your browser and visit:
You now have the complete SkillSync platform running locally 🎉
- Always start the Auth Backend and ML Backend before the frontend.
- Ensure ports 3000, 5000, and 8000 are free.
- Keep
data.xlsxupdated for better ML predictions.
This project is for educational and development purposes.