TeamSync aims to improve the quality and balance of student teams by offering a data-driven, user-friendly experience for discovering, evaluating, and matching with potential teammates.
TeamSync is a collaborative platform where students can create projects, apply to join other teams, add interesting projects to their favorites, and edit their profiles. The recommendation system uses your profile and activity to suggest the most relevant projects. You can review applications, select who joins your team, and build effective teams based on interests and skills.
The table below lists the default ports and example endpoints for each service in the platform. You can use these URLs to access the web interface, API documentation, or Swagger UI for each component in both production and development environments.
Choice | Justification | |
---|---|---|
Frontend | React | For building dynamic and high-performance user interfaces and server-side rendering capabilities. |
TypeScript | A strongly typed programming language that builds on JavaScript, providing better tooling at any scale. | |
Tailwind CSS | A utility-first CSS framework for rapid UI development with consistent and responsive design. | |
Backend | Java/Spring Boot | Robust REST APIs, team expertise |
Database | PostgreSQL | ACID compliance for user/project data |
KeyDB (uses redis client) | Fast session/matching-cache access | |
Qdrant | Embeddings storage for ml service calculations | |
ML | Python | For its simplicity and extensive libraries for data processing and machine learning. |
Infra | Docker + Docker Compose | Environment consistency, TA reproducibility |
GitHub Actions (CI/CD) | Automated testing/deployment |
team-sync/
├── back/ # Backend microservices (auth, projects, recommendation, resume)
├── front/ # Frontend (React app)
├── ml/ # Machine learning services (embedder, recsys, search)
├── migration/ # Database migration scripts (Liquibase)
├── docs/ # Docs (images, gifs, md)
├── docker-compose.yml # Docker Compose configs
├── README.md # Project documentation
└── ... # Other configuration and documentation files
Team member | Telegram alias | Innopolis Email | Responcibilities |
---|---|---|---|
Diana Minnakhmetova (Lead) | @diana_minn | d.minnakhmetova@innopolis.university | Product management, design, Report writing |
Danis Sharafiev | @HarneMer | d.sharafiev@innopolis.university | ML + MLOps |
Daria Alexandrova | @ae_quor | d.alexandrova@innopolis.university | Frontend |
Stepan Dementev | @dementevssstepan | s.dementev@innopolis.university | Backend + DevOps |
Elizaveta Zagurskih | @wkwthigo | e.zagurskih@innopolis.university | Backend |
Kamilya Shakirova | @hugecatwithacheburek | k.shakirova@innopolis.university | ML |
Production: https://team-sync.online
Development: https://dev.team-sync.online
This project uses the all-MiniLM-L6-v2
model from UKPLab:
- Model card: https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2
- License: Apache 2.0