← Назад к вопросам

Расскажи про свой текущий проект

1.0 Junior🔥 301 комментариев
#Опыт и проекты

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Мой Текущий Проект: PrepBro - Платформа для Подготовки к Интервью

Я работаю над платформой PrepBro, которая помогает соискателям готовиться к собеседованиям путем практикования с AI-ассистентом, задающим вопросы и оценивающим ответы.

Описание Проекта

Цель: Создать доступную платформу для подготовки к интервью в различные специальности (System Analyst, Backend Developer, QA, Frontend Developer и т.д.)

Основная функция: Пользователь выбирает профессию, система предлагает вопросы интервью на основе профиля, пользователь дает ответы, AI оценивает качество ответа.

Архитектура Проекта

Backend:

  • Язык: Python
  • Framework: FastAPI
  • База данных: PostgreSQL (Goose для миграций)
  • ORM: SQLAlchemy для работы с моделями
  • Контейнеризация: Docker
  • API версионирование: /api/v1/

Frontend:

  • Технология: Next.js 14 (App Router)
  • Язык: TypeScript
  • Стили: Tailwind CSS
  • UI компоненты: shadcn/ui, Magic UI
  • Build: SSG (Static Site Generation) с output: export

CMS:

  • Sanity для управления контентом блога
  • Интеграция для отображения статей на фронте

AI:

  • Claude API для генерации вопросов и оценки ответов
  • Система промптов для каждой профессии

Deployment:

  • Dokku для развертывания
  • Vercel для фронтенда
  • PostgreSQL on Dokku

Ключевые Особенности

1. Система Вопросов

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

  • Получить следующий вопрос для интервью
  • Сохранить ответ пользователя
  • Оценить ответ на соответствие стандартам индустрии
  • Предоставить обратную связь

2. Процесс Интервью

1. Пользователь выбирает профессию
2. Система достает вопрос из очереди
3. Пользователь дает ответ (текст, голос, видео)
4. AI оценивает ответ:
   - Полнота (охватывает ли все аспекты)
   - Правильность (нет ли ошибок)
   - Структурированность (четкость изложения)
   - Время ответа (соответствует ли норме)
5. Система дает обратную связь
6. Переходит к следующему вопросу

3. Аналитика

  • Отслеживание прогресса пользователя
  • Определение слабых мест
  • Рекомендации по улучшению
  • Сравнение с другими пользователями

Технические Решения

1. Валидация Требований

Мы используем четкий процесс валидации требований:

  • Функциональные требования (FR) для каждой фичи
  • Нефункциональные требования (NFR) для производительности и безопасности
  • User Stories для спринтов
  • Acceptance Criteria для проверки готовности

2. Процесс Разработки

Используем TDD (Test-Driven Development):

  • Сначала пишем тесты
  • Затем реализуем функциональность
  • Покрытие тестами >= 90%
  • Для бэка: pytest с --reuse-db
  • Для фронта: Vitest + Playwright для E2E

3. Архитектура Backend

Следуем Clean Architecture (DDD):

  • Domain — бизнес-логика
  • Application — use cases
  • Infrastructure — БД, интеграции
  • Presentation — API endpoints

Зависимости только внутрь: Presentation → Application → Domain

4. API Design

  • RESTful endpoints: /api/v1/agent/answering/next
  • POST/GET в соответствии с семантикой
  • Версионирование API
  • Документация через OpenAPI/Swagger

Инструменты и Практики

Code Quality:

  • Linting: Ruff (Python), ESLint (TypeScript)
  • Formatting: Black (Python), Prettier (TS)
  • Pre-commit hooks
  • Code review перед каждым PR

Database:

  • Migrations: Goose (raw SQL)
  • Source of truth: миграции, не ORM
  • SQLAlchemy для моделей и типизации

Testing:

  • Unit тесты в pytest
  • Integration тесты
  • E2E тесты с Playwright
  • VCR.py для HTTP мокирования

Deployment:

  • CI/CD pipeline
  • Automated testing
  • Docker контейнеризация
  • Zero-downtime deployment

Текущие Челленджи

1. Скорость Генерации Вопросов

  • Требуется оптимизация API вызовов к Claude
  • Кэширование часто задаваемых вопросов
  • Асинхронная обработка

2. Качество Оценки Ответов

  • Требуется тонкая настройка промптов
  • Обратная связь от пользователей
  • Частая переоценка критериев

3. Масштабируемость

  • При росте пользователей нужна оптимизация БД
  • Кэширование и REDIS для sessions
  • Horizontal scaling фронта

Что я Вынес из Проекта

Soft Skills:

  • Коммуникация с командой и стейкхолдерами
  • Приоритизация требований
  • Управление техническим долгом

Technical Skills:

  • Глубокое понимание Full-Stack архитектуры
  • Clean Architecture и DDD принципы
  • DevOps и deployment практики
  • AI интеграция (LLM, промптинг)

Professional:

  • Как организовать процесс разработки
  • Баланс между скоростью и качеством
  • Значение хорошей документации
  • Важность тестов и code review