Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Мой Текущий Проект: PrepBro — Платформа для Подготовки к Собеседованиям
Я работаю над PrepBro — инновационной платформой для подготовки разработчиков к техническим собеседованиям. Это социальная платформа, которая объединяет кандидатов, позволяя им практиковать интервью в реальных условиях с автоматизированными ответами от AI-экспертов.
Архитектура проекта
Backend (Python + FastAPI)
- Clean Architecture & DDD: многослойная архитектура с разделением domain → application → infrastructure → presentation
- PostgreSQL: основная БД с миграциями Goose (raw SQL)
- Telegram Bot (aiogram 3.x): интеграция для быстрого доступа
- Redis: кеширование и очередь задач
- Docker Compose: локальная разработка и развёртывание
Frontend (Next.js 14 + React 19)
- App Router: современный маршрутизатор
- TypeScript: строгая типизация
- Tailwind CSS v4: утилитарные стили
- shadcn/ui + Magic UI: готовые компоненты и эффекты
- Playwright: E2E тестирование
Основной функционал
1. Система вопросов и ответов
Пользователь получает вопрос собеседования на выбранную должность (Android Developer, Frontend, Backend, etc). AI-эксперт генерирует развёрнутый ответ, а кандидат может:
- Сравнить свой ответ с экспертным
- Получить фидбек по качеству
- Сохранить в избранное
- Поделиться с друзьями
// Пример интеграции в Android
val questionId = "a97dc27c-774a-4217-841f-db55cf177539"
val answer = "## Мой ответ..." // 300+ символов
val score = apiClient.submitAnswer(questionId, answer)
2. Рейтинг и лидерборд
Геймификация мотивирует пользователей:
- Очки за правильные ответы
- Бейджи за достижения (первый ответ, 100 ответов, лучший рейтинг)
- Лидерборд по профессиям
- Прогресс подготовки к каждой вакансии
3. Комментарии и обсуждения
Подержка сообщества для прокачки интервьюшных навыков:
- Комментарии под вопросами и ответами
- Лайки и рейтинги
- Notify система для обратной связи
4. Telegram интеграция
Полнофункциональный бот для мобильного доступа:
# Обработчик вопроса в Telegram
@router.message(Command("next"))
async def get_next_question(message: Message, user_service: UserService):
user = await user_service.get_user(message.from_user.id)
question = await question_service.get_next(user.profession)
await message.answer(f"Вопрос: {question.title}")
Технологический стек в деталях
Backend
- FastAPI: асинхронный веб-фреймворк
- SQLAlchemy ORM: работа с БД
- Pydantic: валидация данных
- pytest: тестирование (90%+ coverage)
- aiogram: Telegram Bot API
- Docker: контейнеризация
Frontend
- React 19: latest features
- TailwindCSS: responsive дизайн
- Framer Motion: анимации
- Vitest + Playwright: тестирование
Процесс разработки
- TDD: сначала тесты, потом код
- Code Review: дважды проверенный код
- Clean Code: SOLID, DRY, KISS, YAGNI
- Continuous Integration: lint + test на каждый коммит
- Deployment: git push на Dokku сервер (178.253.42.36)
Мой вклад
Я разрабатываю эту платформу с полным стеком:
- Проектирование архитектуры
- Backend разработка (Python, FastAPI)
- Frontend разработка (React, TypeScript)
- Telegram Bot интеграция
- DevOps (Docker, Dokku)
- Тестирование и QA
Почему это интересно
Проект решает реальную проблему — подготовку к собеседованиям. Он требует:
- Сложной бизнес-логики: скоринг, лидерборд, рейтинг
- Высоконагруженности: работа с множеством пользователей
- Интеграции: Telegram, API, БД
- Качества: тесты, мониторинг, аналитика
Вывод: PrepBro — это полнофункциональный проект, который демонстрирует мастерство в backend и frontend разработке, архитектуре и DevOps.