Kattis / Швеция

Сильные решения требуют стабильной платформы.

Поддерживали платформу для соревнований по программированию и оценки кандидатов: исправляли ошибки, развивали скрипты обработки данных и готовили миграции базы.

Наш вклад
Поддержка платформы, работа с данными и процессы разработки
Продукт
Образование
От заявки до результата
  1. Поддержка сервисов

    Исправление ошибок и сопровождение веб-платформы.

  2. Обработка данных

    Разработка и поддержка служебных Python-скриптов.

  3. Миграции базы

    SQL-скрипты для перехода со старой версии базы данных.

  4. Проверка кода

    Практики code review, управления задачами и оформления кода.

О проекте

Kattis — шведская платформа для проверки программных решений. Её используют в соревнованиях, обучении и оценке кандидатов при найме. Наша задача заключалась в сопровождении существующих сервисов: поддерживать стабильность работы, исправлять ошибки и помогать команде развивать проект.

Задачи и решения

Поддержка там, где важна стабильность

За отправкой решения и получением оценки стоит работа нескольких частей платформы. Для участников соревнований, преподавателей и кандидатов важно, чтобы привычные сценарии работали предсказуемо. Мы сопровождали сервисы Kattis и исправляли ошибки — это было главным направлением нашего участия.

Работали с существующим веб-приложением на PHP и Python, базой PostgreSQL и шаблонами Smarty. Такая поддержка требует внимания к связям между кодом, данными и интерфейсом: исправление должно вписываться в действующий продукт.

Скрипты для повседневной работы с данными

Мы разрабатывали и поддерживали Python-скрипты для обработки данных проекта и заполнения тестовой базы. Эти служебные инструменты помогали выполнять повторяющиеся операции программно и готовить данные для работы над приложением.

Переход на новую версию базы

Подготовили SQL-скрипты для миграции со старой версии базы данных. Работа с данными была отдельной частью сопровождения: изменения в приложении должны быть согласованы с тем, как информация хранится и используется.

Общие правила для команды

Помимо работы над кодом, мы помогали развивать практики управления задачами и проверки изменений. В эту работу входили code review и рекомендации по стилю кода.

Общие правила упрощают совместную разработку: легче понять чужое изменение, обсудить его до включения в продукт и продолжить работу над знакомым кодом. Для проекта, который постоянно нуждается в поддержке, это полезное дополнение к техническим исправлениям.

Результат работы

Kattis: что изменилось

Сопровождение платформы

Поддерживали веб-сервисы и исправляли ошибки, чтобы сохранять стабильность существующего продукта.

Инструменты для данных

Разрабатывали Python-скрипты для обработки данных и заполнения тестовой базы, а также SQL-скрипты миграции.

Практики разработки

Помогали внедрять подходы к управлению задачами, проверке изменений и единому стилю кода.

Инструменты команды

Технологии проекта

Стек, с которым мы работали над Kattis.

PHP

Серверная логика веб-приложения

Python

Скрипты и обработка данных

PostgreSQL

Хранение данных и SQL-миграции

Smarty

Шаблоны страниц

jQuery

Взаимодействие с веб-интерфейсом

HTML

Структура веб-интерфейса

CSS

Оформление интерфейса

У вашего продукта — своя задача.

Обсудим, что нужно вашим пользователям и как превратить это в работающий продукт.