Skip to content

SkillSync is a full-stack web application that provides personalized career and skill recommendations using AI. Built with Java Spring Boot, MongoDB, React, and integrated with Google's Gemini API, this platform helps users discover career opportunities that match their skills

Notifications You must be signed in to change notification settings

Vvek07/SkillSync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SkillSync - AI-Powered Career & Skill Recommendation Platform

SkillSync Dashboard

SkillSync is a full-stack web application that provides personalized career and skill recommendations using AI. Built with Java Spring Boot, MongoDB, React, and integrated with Google's Gemini API, this platform helps users discover career opportunities that match their skills and interests.

🌟 Features

  • User Authentication: Secure JWT-based authentication system
  • Profile Management: Comprehensive user profile with skills, education, and experience tracking
  • AI-Powered Recommendations: Personalized career and learning path recommendations
  • Skill Assessment: Visual skill proficiency tracking and gap analysis
  • Learning Paths: Curated learning resources to bridge skill gaps
  • Admin Panel: Job template management for administrators
  • Responsive Design: Mobile-friendly interface with Material UI components
  • Real-time Analytics: Interactive dashboards with skill and career insights

πŸ› οΈ Technologies Used

Backend

  • Java Spring Boot 3.3.4
  • Spring Security with JWT authentication
  • Spring Data MongoDB for data persistence
  • Google Gemini API for AI recommendations
  • Maven for dependency management
  • JUnit 5 for testing

Frontend

  • React 19 with Vite
  • Material UI for modern UI components
  • React Router for navigation
  • Axios for HTTP requests
  • Chart.js for data visualization
  • npm for package management

Database

  • MongoDB Atlas (cloud database)

Deployment

  • Backend: Render.com
  • Frontend: Vercel
  • Containerization: Docker

πŸš€ Getting Started

Prerequisites

  • Java 17 or higher
  • Node.js 16 or higher
  • MongoDB Atlas account
  • Google AI Studio API key

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/skillsync.git
    cd skillsync
  2. Backend Setup:

    # Navigate to backend directory
    cd skillsync
    
    # Update application.properties with your credentials
    # src/main/resources/application.properties
    
    # Run the application
    ./mvnw spring-boot:run
  3. Frontend Setup:

    # Navigate to frontend directory
    cd frontend
    
    # Install dependencies
    npm install
    
    # Start development server
    npm run dev

Environment Variables

Backend (application.properties)

# MongoDB connection
spring.data.mongodb.uri=your_mongodb_connection_string

# JWT configuration
jwt.secret=your_jwt_secret_key
jwt.expiration=86400000

# Gemini API
gemini.api.key=your_gemini_api_key
gemini.api.url=https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent

Frontend (.env)

VITE_API_BASE_URL=http://localhost:8080

πŸ“ Project Structure

skillsync/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ main/
β”‚   β”‚   β”œβ”€β”€ java/com/skillsync/skillsync/
β”‚   β”‚   β”‚   β”œβ”€β”€ config/          # Security and JWT configuration
β”‚   β”‚   β”‚   β”œβ”€β”€ controller/      # REST API controllers
β”‚   β”‚   β”‚   β”œβ”€β”€ dto/             # Data Transfer Objects
β”‚   β”‚   β”‚   β”œβ”€β”€ model/           # Data models and entities
β”‚   β”‚   β”‚   β”œβ”€β”€ repository/      # MongoDB repositories
β”‚   β”‚   β”‚   β”œβ”€β”€ service/         # Business logic services
β”‚   β”‚   β”‚   └── SkillSyncApplication.java
β”‚   β”‚   └── resources/
β”‚   β”‚       └── application.properties
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ components/          # React components
β”‚   β”‚   β”œβ”€β”€ App.jsx              # Main App component
β”‚   β”‚   └── main.jsx             # Entry point
β”‚   β”œβ”€β”€ package.json
β”‚   └── vite.config.js
β”œβ”€β”€ Dockerfile                   # Docker configuration
β”œβ”€β”€ render.yaml                  # Render deployment config
└── pom.xml                      # Maven dependencies

πŸ”Œ API Endpoints

Authentication

  • POST /api/auth/register - User registration
  • POST /api/auth/login - User login

User Management

  • GET /api/users/profile - Get user profile
  • PUT /api/users/profile - Update user profile

Recommendations

  • POST /api/recommendations - Generate AI recommendations
  • GET /api/recommendations - Get user recommendations

Admin (Protected)

  • GET /api/admin/jobs - Get all job templates
  • POST /api/admin/jobs - Create job template
  • PUT /api/admin/jobs/{id} - Update job template
  • DELETE /api/admin/jobs/{id} - Delete job template

🐳 Docker Deployment

# Build the Docker image
docker build -t skillsync .

# Run the container
docker run -p 8080:8080 skillsync

☁️ Cloud Deployment

Backend (Render)

  1. Create a new Web Service on Render
  2. Connect your repository
  3. Set build command: ./mvnw clean package -DskipTests
  4. Set start command: java -jar target/skillsync-0.0.1-SNAPSHOT.jar
  5. Add environment variables in Render dashboard

Frontend (Vercel)

  1. Create a new project on Vercel
  2. Connect your repository
  3. Set root directory to frontend
  4. Deploy!

πŸ§ͺ Testing

Run backend tests:

./mvnw test

🀝 Contributing

  1. Fork the repository
  2. Create a 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

Your Name - @your_twitter - [email protected]

Project Link: https://github.com/yourusername/skillsync

About

SkillSync is a full-stack web application that provides personalized career and skill recommendations using AI. Built with Java Spring Boot, MongoDB, React, and integrated with Google's Gemini API, this platform helps users discover career opportunities that match their skills

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published