Skip to content

A smart collaboration platform for the Innopolis community that uses ML for team syncing, management and project recruitment.

Notifications You must be signed in to change notification settings

mpasgat/InnoSync

 
 

Repository files navigation

InnoSync 🚀

License: MIT Java Spring Boot React Next.js Python PostgreSQL Docker

Smart talent-matching and project collaboration platform for university communities and innovation hubs

InnoSync connects recruiters (project creators) with talent through AI-powered team formation, detailed profile matching, and integrated collaboration tools.

🎬 Demo

InnoSync Demo

Experience the seamless team formation and AI-powered matching in action

📋 Table of Contents

✨ Features

🎯 Core Features

  • AI-Powered Team Formation - Quicksyncing algorithm matches optimal team members
  • Comprehensive Profile System - Detailed skill mapping and experience tracking
  • Real-time Collaboration - Integrated chat and communication tools
  • Advanced Filtering - Role-based, skill-based, and expertise-level filtering
  • Invitation Management - Streamlined application and invitation workflow

🚀 Advanced Capabilities

  • Smart Matching Algorithm - ML-powered candidate recommendation
  • Team Synergy Analysis - Compatibility scoring for optimal team formation
  • Real-time Notifications - Instant updates on applications and invitations
  • File Management - Resume and profile picture uploads
  • Role-based Access Control - Secure authentication and authorization

🏗️ Architecture

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Frontend      │    │    Backend      │    │   ML Service    │
│   (Next.js)     │◄──►│  (Spring Boot)  │◄──►│   (FastAPI)     │
│   Port: 3000    │    │   Port: 8080    │    │   Port: 8000    │
└─────────────────┘    └─────────────────┘    └─────────────────┘
                              │
                              ▼
                       ┌─────────────────┐
                       │   PostgreSQL    │
                       │   Port: 5440    │
                       └─────────────────┘

🛠️ Tech Stack

Frontend

  • Framework: Next.js 14 with React 18
  • Language: TypeScript
  • Styling: CSS Modules
  • State Management: React Hooks
  • UI/UX: Custom design system

Backend

  • Framework: Spring Boot 3.x
  • Language: Java 21
  • Database: PostgreSQL 15
  • Authentication: JWT with Spring Security
  • API Documentation: Swagger/OpenAPI

Machine Learning

  • Framework: FastAPI
  • Language: Python 3.11
  • ML Libraries: Pandas, NumPy, Scikit-learn
  • Algorithms: Team synergy analysis, skill matching

DevOps & Infrastructure

  • Containerization: Docker & Docker Compose
  • CI/CD: GitHub Actions
  • Web Server: Nginx
  • Monitoring: ELK Stack (Elasticsearch, Logstash, Kibana)

🚀 Quick Start

Prerequisites

  • Docker and Docker Compose
  • Git
  • Node.js 18+ (for local development)
  • Java 21+ (for local development)

One-Command Setup

# Clone the repository
git clone https://github.com/IU-Capstone-Project-2025/InnoSync.git
cd InnoSync

# Start all services
docker-compose up --build

Access Points

📖 Detailed Setup

1. Environment Configuration

Backend Configuration

Create .env file in the backend directory:

# Database Configuration
DB_URL=jdbc:postgresql://postgres:5432/registration
DB_USERNAME=myuser
DB_PASSWORD=mypass

2. Database Setup

The PostgreSQL database will be automatically initialized with the required schema when the containers start.

3. Service Verification

# Check if all services are running
docker-compose ps

# View logs
docker-compose logs -f

# Test API endpoints
curl http://localhost:8080/api/health
curl http://localhost:8000/health

🎯 User Roles

👤 Recruitee (Talent/Applicant)

  • Profile Creation: Comprehensive skill and experience mapping
  • Project Discovery: Advanced filtering and search capabilities
  • Application Management: Direct project applications
  • Invitation Handling: Accept/decline team invitations

👥 Recruiter (Project Creator)

  • Project Management: Create and manage project requirements
  • Talent Discovery: Manual search with advanced filters
  • Quicksyncing: AI-powered automatic team matching
  • Team Formation: Invitation and team finalization

🤖 Quicksyncing AI

How It Works

  1. Recruiter Opt-in: Enable Quicksyncing for project
  2. AI Analysis: ML algorithms analyze requirements and candidate profiles
  3. Team Recommendation: Optimal team composition suggestions
  4. Review & Revoll: Recruiters can review and request better matches
  5. Batch Invitations: Send invitations to recommended team members

ML Features

  • Skill Compatibility Scoring: Advanced matching algorithms
  • Team Synergy Analysis: Experience variance and skill overlap
  • Role-Specific Matching: Expertise level and technology alignment
  • Performance Optimization: Continuous learning from user feedback

🔧 Development

Local Development Setup

Backend Development

cd backend
./mvnw spring-boot:run

Frontend Development

cd frontend/innosync
npm install
npm run dev

ML Service Development

cd ML
pip install -r requirements.txt
python -m uvicorn app:app --reload --host 0.0.0.0 --port 8000

Testing

# Backend tests
cd backend
./mvnw test

# Frontend tests
cd frontend/innosync
npm test

# ML service tests
cd ML
python -m pytest

Code Quality

  • Backend: Maven with Spring Boot conventions
  • Frontend: ESLint, Prettier, TypeScript strict mode
  • ML: Black, isort, mypy for Python code quality

📚 API Documentation

Interactive Documentation

Key Endpoints

  • Authentication: /api/auth/*
  • Profiles: /api/profile/*
  • Projects: /api/projects/*
  • Applications: /api/applications/*
  • Invitations: /api/invitations/*
  • ML Recommendations: /api/recommendations/*

🤝 Contributing

Development Workflow

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

Code Standards

  • Follow existing code style and conventions
  • Write comprehensive tests for new features
  • Update documentation for API changes
  • Ensure all tests pass before submitting PR

Team Structure

  • Team Lead: Baha
  • Frontend: Baha & Anvar
  • Backend: Yusuf & Asgat
  • ML/AI: Gurban
  • DevOps: Aibek
  • CustDev: Egor

📄 License

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

📞 Support

For technical support or questions:


Built with ❤️ by the InnoSync Team

Innopolis University Capstone Project 2025

About

A smart collaboration platform for the Innopolis community that uses ML for team syncing, management and project recruitment.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 41.3%
  • Java 33.9%
  • CSS 19.1%
  • Python 5.4%
  • Dockerfile 0.2%
  • Shell 0.1%