Skip to content

Repository files navigation

🚀 CodeSphere

Интеллектуальная платформа для проведения технических собеседований с AI-интервьюером

CodeSphere автоматизирует процесс технического интервью: от оценки теоретических знаний до проверки практических навыков программирования с адаптивным подбором задач.


✨ Возможности

🎯 AI-интервьюер

  • Генерация персонализированных теоретических вопросов на основе заявленных навыков
  • Оценка ответов с наводящими вопросами
  • Защита от провокационного поведения с автоматическим баном

💻 Онлайн IDE

  • Поддержка Python и C++
  • Подсветка синтаксиса и автодополнение (CodeMirror)
  • Запуск кода с пользовательским вводом
  • Автоматическое тестирование решений

🔍 Анализ кода

  • Python: pylint, mypy, bandit
  • C++: cppcheck, g++ warnings
  • Обнаружение подозрительных символов (копипаст, AI-генерация)

💬 Интерактивный чат

  • Обратная связь после каждого запуска тестов
  • Наводящие вопросы без прямых ответов
  • Диалог с AI-интервьюером в реальном времени

📊 Адаптивный подбор задач

  • Векторный поиск задач по профилю кандидата
  • Ранжирование по релевантности навыкам
  • Три уровня сложности: easy, medium, hard

🛠 Технологии

Компонент Технология
Backend Django 4.x
Frontend HTML/CSS/JS, CodeMirror
AI/LLM qwen3-coder, qwen3
Embeddings BGE-M3
База данных SQLite

📦 Установка

1. Клонирование репозитория

git clone <repository-url>
cd hackatone

2. Создание виртуального окружения

python -m venv venv

# Windows
venv\Scripts\activate

# Linux/macOS
source venv/bin/activate

3. Установка зависимостей

pip install -r requirements.txt

4. Применение миграций

cd pyexec
python manage.py migrate

5. Инициализация векторной базы задач

python codeapp/task_manager.py

6. Запуск сервера

python manage.py runserver

Сервер будет доступен по адресу: http://127.0.0.1:8000


🎮 Использование

Для кандидатов

  1. Регистрация — выберите роль "Кандидат"
  2. Интервью — опишите свои навыки и ответьте на теоретические вопросы
  3. Практика — решайте задачи в онлайн-редакторе
  4. Чат — задавайте вопросы AI-интервьюеру

Для HR

  1. Регистрация — выберите роль "HR"
  2. Просмотр отчётов — анализируйте результаты кандидатов

📁 Структура проекта

hackatone/
├── pyexec/                    # Django-приложение
│   ├── codeapp/               # Основное приложение
│   │   ├── models.py          # Модели данных
│   │   ├── views.py           # Обработчики запросов
│   │   ├── task_manager.py    # Управление задачами
│   │   ├── templates/         # HTML-шаблоны
│   │   └── tests/             # Задачи и тесты
│   │       ├── tasks_db.json  # База задач с описаниями
│   │       ├── easy.txt       # Лёгкая задача
│   │       ├── medium.txt     # Средняя задача
│   │       └── hard.txt       # Сложная задача
│   └── pyexec/                # Настройки Django
├── inreractor/                # AI-интервьюер
│   └── interactor.py          # Логика интервью
├── task_search/               # Векторный поиск
│   └── task_searcher.py       # Поиск задач по эмбеддингам
├── frontend/                  # Статические файлы
└── requirements.txt           # Зависимости

🔧 Опциональные инструменты

Для полноценного анализа кода установите:

# Python-анализаторы
pip install pylint mypy bandit

# C++ (Windows)
winget install cppcheck

# C++ (Linux)
sudo apt install cppcheck g++

# C++ (macOS)
brew install cppcheck gcc

📝 API Endpoints

Endpoint Метод Описание
/ GET Главная страница
/runcode/ GET Редактор кода
/run_code/ POST Запуск/тестирование кода
/interview/ GET Страница интервью
/interview/api/ POST API интервью
/code/chat/ POST Чат во время кодинга
/tasks/ranked/ GET/POST Ранжированные задачи

📄 Логи

После запуска кода создаются файлы:

  • pyexec/code_analysis.log — результаты анализаторов
  • pyexec/analysis_and_tests.log — полный отчёт (анализ + тесты)

👥 Команда


📜 Лицензия

MIT License

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages