Similar presentations:
Презентация
1. Система управления онлайн-платформой с рейтинговой системой для оценки и продвижения студентов на рынке труда
СПбГЭТУ «ЛЭТИ»Система управления онлайн-платформой с
рейтинговой системой для оценки и продвижения
студентов на рынке труда
Выпускная квалификационная работа бакалавра
Студент: Н. А. Попов
Руководитель: д. т. н., проф. И. И. Холод
Консультант: П. Г. Петруша
Санкт-Петербург, 2026
2. Проблема трудоустройства студентов IT
51%41%
25%
российских студентов
испытывают трудности
с поиском работы
не имеют необходимого
практического опыта
верят, что «молодым
специалистам открыты
все дороги»
Существующие платформы (HeadHunter, SuperJob, Changellenge) не учитывают специфику студенческой аудитории:
нет механизмов оценки академических достижений, проектной активности и потенциала кандидата.
Источник: исследование «Консоль.Про» × «Зарплата.ру», 2024, n = 1810 респондентов
3. Цель и задачи работы
ЦЕЛЬПроектирование и разработка серверной части онлайн-платформы с рейтинговой системой для оценки и
продвижения студентов на рынке труда
ЗАДАЧИ
1
Анализ предметной области и существующих решений
4
Реализация рейтингового алгоритма оценки студентов
2
Проектирование микросервисной архитектуры и
моделей данных
5
Контейнеризация (Docker) и оркестрация (Kubernetes)
3
Разработка REST API и системы аутентификации на JWT
6
Настройка CI/CD, тестирование и развёртывание
4. Анализ конкурентных решений
ПлатформаСтуд. аудитория
Рейтинг
Акад. достижения
API для вузов
HeadHunter
Средняя
Частично
Нет
Нет
SuperJob
Низкая
Нет
Нет
Нет
Changellenge
Средняя
Частично
Нет
Нет
Факультетус
Высокая
Нет
Частично
Нет
РАЗРАБОТАННАЯ ПЛАТФОРМА
Высокая
Да
Да
Да
Существующая ниша: специализированное решение для студентов IT с прозрачной оценкой компетенций
Кт = 9,60 / 10
К = 1,78×
Интегральный показатель
Превосходство над лидером конкурентов
5. Технологический стек
БЭКЕНДХРАНЕНИЕ ДАННЫХ
ИНФРАСТРУКТУРА
БЕЗОПАСНОСТЬ
Python 3
PostgreSQL 16
Docker
JWT (RFC 7519)
Django
Redis (кэш)
Kubernetes
bcrypt
Django REST Framework
RabbitMQ (брокер)
Yandex Cloud
OWASP-политики
GitLab CI/CD
OAuth (VK)
Celery
Выбор стека: быстрый MVP с возможностью масштабирования. Python — №1 в TIOBE (20,97% на 04.2026), Django — «батарейки в комплекте»,
PostgreSQL — золотой стандарт, RabbitMQ — нативная интеграция с Celery
Динамика рейтинга Python в TIOBE: 9,1% (2020) → 25,4% (2025)
6. Требования к системе
ФУНКЦИОНАЛЬНЫЕРолевая модель: студент, работодатель,
рекрутер, администратор, наблюдатель
НЕФУНКЦИОНАЛЬНЫЕ
Время отклика API
≤ 500 мс для 95% запросов
Поддержка пользователей
Умная рейтинговая система оценки
компетенций по нескольким критериям
≥ 500 одновременных
Микросервисная архитектура
независимое масштабирование
Поиск, фильтрация и упорядочивание
кандидатов и вакансий
Отказоустойчивость
автовосстановление при сбоях
Надёжная аутентификация и авторизация
с разграничением прав
Безопасность
защита от CSRF, XSS, SQL-инъекций
7. Микросервисная архитектура платформы
Клиентское приложениеAPI Gateway
(маршрутизация • rate limiting • JWT-проверка)
Auth
Users
Vacancies
Skill Tests
Rating
Reference Data
Blog
JWT, OAuth VK
профили
вакансии, отклики
тесты
пересчёт рейтинга
справочники
публикации
PostgreSQL
Отдельная БД на сервис
Redis
Кэширование
Согласованность данных между сервисами — паттерн eventual consistency через события RabbitMQ
RabbitMQ + Celery
Асинхронные задачи, события
8. Модели данных платформы
407
1:1 / 1:N / N:N
таблиц в БД
микросервисов с
изолированными БД
типы связей через
ForeignKey и связующие таблицы
3
6
4
1
Auth
roles, users, oauth_vk_states
Расширения профиля
job_experiences, courses, gradebook, stud_activity, scientific_activity,
student_rating
Skill Tests
skill_tests, questions, answers, user_skill_test_results
10+
6
11+
Users
student_profiles, company_profiles, recruiter_profiles, contacts,
invite_tokens, *_education, *_hard
Vacancies
vacancies, responses, vacancy_hard/soft/city/trend
Reference Data
countries, cities, universities, faculties, specializations, skills, …
Blog
blog_posts
Rating Service: без собственных таблиц — Celery-задачи читают данные смежных сервисов и обновляют student_rating через события RabbitMQ
9. REST API и аутентификация
REST APIРесурсная модель
Аутентификация JWT
/api/<сервис>/<ресурс>/<id>/
HTTP-методы
GET, POST, PUT, PATCH, DELETE
Stateless
JWT в заголовке Authorization
Пагинация
limit / offset (django-filters)
Сериализация
JSON через DRF Serializers (MVC)
Документация
OpenAPI 3.0 / Swagger UI
1
2
3
Клиент → POST /auth/login/
email + password
Auth Service выдаёт пару токенов
access (15 мин) + refresh (7 дней)
API Gateway проверяет токен
user_id и role в payload → маршрутизация в микросервис
Примеры эндпоинтов
POST /api/auth/login/
→
выдача JWT-пары
GET /api/vacancies/
→
список вакансий с фильтром
POST /api/vacancies/{id}/respond/
→
отклик студента
GET /api/rating/leaderboard/
→
рейтинговый список
POST /api/skill-tests/{id}/submit/
→
отправка ответов
GET /api/users/students/{id}/
→
профиль студента
10. Контейнеризация, оркестрация и CI/CD
GitLab CI/CD — 4 стадииLINT
TEST
BUILD
DEPLOY
flake8 + WPS
PEP 8
pytest
unit + integration
Docker images
приватный Registry
kubectl apply
rollout + rollback
Промышленное развёртывание — Yandex Managed Kubernetes
Deployment
Service + Ingress
HPA
Liveness/Readiness
min 2 реплики
RollingUpdate
ClusterIP
внешний трафик через GW
Auto-scale
при CPU > 70%
Probes
авто-перезапуск подов
Отказоустойчивость
Репликация (минимум 2 пода на сервис) • RollingUpdate без простоя
Circuit Breaker в API Gateway • Централизованное логирование и мониторинг
11. Тестирование и развёртывание платформы
Уровни тестирования85%
покрытие кода тестами
pytest + coverage.py
в стадии test CI/CD
1
Модульные тесты (pytest, TestCase, APIClient)
сериализаторы • валидация (email, OWASP) • permission-классы • логика рейтинга и граничные
случаи
2
Интеграционные тесты
PostgreSQL 16 в GitLab CI/CD с фикстурами • полный жизненный цикл: регистрация → JWT →
профиль → пересчёт рейтинга через Celery
3
Тестирование рейтинговой системы
нормализация, взвешенное суммирование, события RabbitMQ, ранжирование при равных
значениях
Развёртывание
Документация API
Push в master → автозапуск пайплайна
OpenAPI 3.0 (Swagger) через drf-spectacular
Сборка Docker-образов, тег = commit hash + latest
Аннотация views и serializers прямо в коде
kubectl apply + rollout status, автоматический откат
Swagger UI: /api/docs/ с разбивкой по сервисам
При старте: namespace, ConfigMap, Secret, Ingress
Интеграция с JWT — аутентификация из UI
12. Экономическое обоснование
884 768 ₽1 061 722 ₽
24 мес
769 223 ₽
себестоимость
разработки
цена реализации
период окупаемости
NPV
бюджет 1 000 000 ₽
норма прибыли 20%
30 подписок / реалистичный
сценарий
при ставке r = 24,7%
Структура себестоимости (12 мес, команда из 6 человек)
Конкурентоспособность (балльная оценка)
ФЗП (осн. + 14% доп.)
742 482 ₽
Разработанная платформа
9.60
Накладные (16% от Зосн)
104 208 ₽
Changellenge
5.40
Страх. от НС и ПЗ (АУСН)
2 750 ₽
SuperJob
4.35
Затраты стор. орг. (без НДС)
35 328 ₽
Факультетус
4.25
HeadHunter
4.05
Комплексный показатель конкурентоспособности K = 9,60 / 5,40 = 1,78 — превосходство над ближайшим конкурентом
13. Результаты и перспективы развития
Достигнутые результатыПерспективы развития
Спроектирована и реализована серверная часть платформы
7 микросервисов + API Gateway, 40 таблиц БД
1
Интеграция с внешними
образовательными платформами
Автоматический учёт учебных данных студентов
JWT-аутентификация и ролевая система доступа
REST API задокументирован в Swagger UI
2
Контейнеризация Docker + оркестрация в Yandex K8s
ML-рекомендации
Продвинутая система подбора вакансий и кандидатов
GitLab CI/CD: lint → test → build → deploy
Покрытие тестами 85%, готовность к промышленной
эксплуатации
3
Мобильное приложение
Увеличение охвата пользователей и удобства
Все поставленные задачи ВКР выполнены — платформа готова к промышленной эксплуатации и
масштабированию
14.
Спасибо за внимание!Готов ответить на ваши вопросы
Н. А. Попов • СПбГЭТУ «ЛЭТИ» • 2026