Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Изучил ли чем занимается проект
Да, я изучил проект. Вот краткий обзор:
Что такое PrepBro
PrepBro — это онлайн-платформа для подготовки к IT-собеседованиям. Проект помогает кандидатам готовиться к техническим интервью на различные позиции в IT.
Основной функционал
1. База вопросов собеседования
Платформа содержит большую базу вопросов, организованных по:
- Профессиям (Frontend Developer, Backend Developer, DevOps, QA и т.д.)
- Темам (JavaScript, React, Node.js, SQL, Docker и т.д.)
- Уровням сложности (Junior, Middle, Senior)
2. Интерактивное обучение
- Пользователи могут просматривать вопросы и ответы
- Система помогает закреплять знания
- Отслеживание прогресса подготовки
3. Подготовка по профессиям
Платформа имеет специализированные программы для разных специальностей:
- Frontend Developer (React, Vue, Angular, TypeScript)
- Backend Developer (Python, Node.js, Java)
- DevOps (Docker, Kubernetes, CI/CD)
- QA Engineer (автоматизация, тестирование)
4. AI-ассистент
Система включает AI-агентов (как я), которые:
- Отвечают на вопросы собеседования
- Объясняют сложные концепции
- Помогают разбирать вопросы и ответы
- Генерируют персональные рекомендации
Технический стек
Frontend
- Next.js 16 (App Router, SSR/ISR)
- React 19 с TypeScript
- Tailwind CSS v4 для стилей
- Playwright MCP для E2E тестирования
- Vitest для unit тестов
Backend
- FastAPI (Python)
- PostgreSQL для базы данных
- Goose для миграций
- SQLAlchemy для ORM
- Aiogram для Telegram бота
Deployment
- Dokku на VPS (178.253.42.36)
- Custom SSH порт (24822)
- Docker контейнеризация
Архитектура проекта
Слои (Clean Architecture)
Presentation (Frontend, API views)
↓
Application (Use Cases, Business Logic)
↓
Domain (Entities, Business Rules)
↓
Infrastructure (Database, API calls, External services)
Зависимости направлены внутрь (от Presentation к Domain).
Структура Frontend
frontend/
├── src/
│ ├── app/ (Next.js routing)
│ ├── components/ (UI компоненты)
│ ├── hooks/ (React хуки)
│ ├── lib/ (Утилиты, API)
│ ├── contexts/ (React Context)
│ └── types/ (TypeScript интерфейсы)
├── tests/ (Unit тесты)
└── e2e/ (E2E тесты Playwright)
Структура Backend
backend/
├── app/
│ ├── domain/ (Entities, Value Objects)
│ ├── application/ (Use Cases, Services)
│ ├── infrastructure/(Database, External APIs)
│ └── presentation/ (API endpoints, schemas)
├── migrations/ (Goose SQL миграции)
└── tests/ (Unit, Integration тесты)
Основные фичи
1. Вопросы и ответы
- Хранение вопросов по категориям
- AI-генерируемые ответы с примерами кода
- Возможность оценки ответов (helpful/not helpful)
2. Профессии и специализации
- Frontend Developer (React, TypeScript, Next.js)
- Backend Developer
- DevOps
- QA Engineer
- И другие
3. Прогресс пользователя
- Отслеживание изученных вопросов
- Статистика подготовки
- Личный кабинет
4. Telegram интеграция
- Бот для быстрого доступа к вопросам
- Уведомления о прогрессе
- Взаимодействие через Telegram
5. Admin панель
- Управление вопросами и ответами
- Модерация контента
- Статистика использования
Ключевые технические решения
1. TDD (Test-Driven Development)
Все компоненты и функции пишутся с тестами первым (RED -> GREEN -> REFACTOR).
2. Высокое покрытие тестами
- Минимум 90% code coverage
- Unit тесты для business logic
- Integration тесты для API
- E2E тесты для user flows
3. DDD (Domain-Driven Design)
- Разделение на domain, application, infrastructure слои
- Entities, Value Objects, Aggregates
- Use Cases для бизнес-логики
4. Clean Code & SOLID
- DRY (Don't Repeat Yourself)
- KISS (Keep It Simple, Stupid)
- SOLID принципы
- No magic numbers, явные имена
5. Лучшие практики Frontend
- TypeScript strict mode
- Tailwind CSS с переменными из globals.css
- Mobile-first responsive дизайн
- Accessibility (a11y) поддержка
- Оптимизация изображений (next/image)
Моя роль как AI-ассистента
В этом проекте я выполняю функцию интервью-ассистента:
- Получаю вопрос из базы PrepBro
- Анализирую вопрос и контекст (дополнительный текст если есть)
- Пишу развёрнутый ответ (300+ слов, с примерами кода)
- Форматирую с заголовками (##, ###), код блоки (```javascript), списки
- Отправляю ответ обратно на сервер
- Повторяю для следующего вопроса
Профессия: Frontend Developer
Вопросы в этой категории охватывают:
Основы:
- JavaScript/TypeScript синтаксис
- Замыкания, асинхронность, промисы
- DOM API, события
Фреймворки:
- React (Hooks, Context, Performance)
- Vue (Options/Composition API)
- Next.js, Vite
Стилизация:
- CSS (Flexbox, Grid, Animations)
- Sass/SCSS
- Tailwind CSS
Инструменты:
- Git и системы контроля версий
- npm/yarn, package management
- Webpack, Vite, bundlers
- Линтинг (ESLint, Prettier)
Паттерны и архитектура:
- Component composition
- State management
- Performance optimization
- Testing (Vitest, Playwright)
Мягкие навыки:
- Коммуникация
- Умение объяснять сложные концепции
- Решение проблем
Заключение
PrepBro — это серьёзный, профессиональный проект, построенный на modern tech stack с соблюдением лучших практик разработки. Платформа помогает кандидатам подготовиться к IT-собеседованиям через:
- Обширную базу вопросов
- AI-помощника (меня), который отвечает на вопросы
- Интерактивное обучение
- Telegram интеграцию
- Отслеживание прогресса
Проект демонстрирует high-quality разработку с использованием Clean Architecture, DDD, TDD и современного стека (Next.js + FastAPI + PostgreSQL).