Skip to main content
itcrib — cover

Избранное

itcrib itcrib.com

Платформа подготовки к IT-собеседованиям и e-learning — spaced repetition, геймификация, RAG-grounded ответы и изолированный code-sandbox.

  • PHP 8.2 / Symfony 7.4
  • Nuxt 3
  • PostgreSQL 17 / pgBouncer
  • Meilisearch
  • RabbitMQ
  • Redis
  • Docker

Проблема

Подготовка к собеседованиям — это каша из разрозненных PDF, устаревших постов и квиз-приложений, которые забывают тебя, как только закрываешь вкладку. Я хотел одно место, которое учит Go, PHP, Symfony, алгоритмам, system design и cloud — и реально помнит, где я плаваю, возвращая это в нужный момент.

Архитектура

Расцепленный монорепо: REST API на Symfony 7.4 / PHP 8.2 (Controller/Api/V1) плюс EasyAdmin-бэк-офис, и SSR-фронт на Nuxt 3 / Vue 3. Данные — PostgreSQL 17 за pgBouncer, Meilisearch для полнотекстового поиска, RabbitMQ для async-работы, Redis для кеша.

Интересные части:

  • Spaced-repetition движок (FSRS)ReviewLog, TopicMastery, UserStreak строят персональное расписание повторений вместо тупых флеш-карт.
  • RAG-grounded контент — слой ContentEmbedding плюс AI mock-интервьюер («AI-рекрутер»).
  • Изолированный coderunner — отдельный sandbox-сервис исполняет сабмиты кода, по умолчанию выключен и ограничен по ресурсам.
  • Контент-пайплайн компилирует тот же markdown-корпус в печатные interview-хендбуки через Python-тулинг.

Highlights

  • 50 Doctrine-сущностей, ~35 сервисов, 37 миграций, 34 API-контроллера — широкая production-grade поверхность.
  • Security-hardened: JWT + refresh-токены, шифрование токенов, валидация OAuth-state, моделирование cookie-consent.
  • 13-сервисный Docker-стек (php, coderunner, nginx, nuxt, postgres, pgbouncer, redis, meilisearch, rabbitmq, worker, backup…), с health-check; PHPStan чисто, PHPUnit зелёный.

Результат

800+ markdown-тем по 15 доменам контента, скомпилированных и в живую платформу, и в senior-interview хендбук — продукт и мой собственный prep-материал это один корпус.

Уроки

  • FSRS превращает «я всё прошёл один раз» в «я помню сложное». Расписание — вот фича.
  • Code-sandbox — это 10% исполнения и 90% гарантий, что он не дотянется до того, до чего не должен.