Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Telegram Бот для подготовки к собеседованию на Frontend разработчика. JavaScript + grammY

Notifications You must be signed in to change notification settings

FilimonovAlexey/tech-interview-trainer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

37 Commits

Repository files navigation

Telegram Бот для Подготовки к Собеседованию на Frontend Разработчика

Этот Telegram бот разработан для помощи в подготовке к собеседованиям на позицию Frontend разработчика. Бот предлагает викторины по различным категориям, таким как HTML, CSS, JavaScript и React, и предоставляет рейтинговый режим для оценки навыков пользователя.

Функциональности бота

  • Старт: Пользователь начинает взаимодействие с ботом, используя команду /start. Бот приветствует пользователя и предлагает выбрать категорию вопросов или включить рейтинговый режим.
  • Викторины: Пользователь выбирает одну из категорий (HTML, CSS, JavaScript, React) и отвечает на вопросы. После каждого ответа бот сообщает, правильный ли ответ, и предлагает следующий вопрос.
  • Рейтинговый режим: Пользователь отвечает на вопросы из всех категорий до первой ошибки. Количество правильных ответов фиксируется как очки, которые сохраняются в таблице лидеров.
  • Таблица лидеров: Пользователь может посмотреть топ-10 игроков, набравших наибольшее количество очков в рейтинговом режиме.
  • Профиль: Команда /profile позволяет пользователю просмотреть информацию о количестве правильных ответов в каждой категории, а также последний результат в рейтинговом режиме.

Используемые технологии

  • Node.js: Серверная платформа для выполнения JavaScript-кода.
  • grammy: Модуль для создания Telegram ботов.
  • sqlite: Встраиваемая база данных для хранения результатов пользователей.
  • date-fns: Библиотека для форматирования дат и времени.
  • dotenv: Модуль для загрузки переменных окружения из .env файла.

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

  • index.js - Главный файл с логикой бота.
  • questions/ - Папка с файлами вопросов по HTML, CSS, JavaScript и React.
  • leaderboard.db - Файл базы данных SQLite для хранения таблицы лидеров.

Демо бота

Обзор возможностей бота и инструкция по настройке - Смотреть на YouTube
Опробовать бота можно в Telegram по ссылке - @Tehnomaniak_trainer_bot

Деплой бота на сервер

Видео-гайд по деплою Telegram бота на сервер - Смотреть на YouTube

  • Установим Git и обновим компоненты системы
sudo apt update
sudo apt install git
  • Клонируем репозиторий с ботом на сервер:
git clone https://github.com/FilimonovAlexey/tech-interview-trainer.git
  • Переходим в папку проекта:
cd tech-interview-trainer
  • Устанавливаем Node.js и пакетный менеджер npm
sudo apt install nodejs
sudo apt install npm
  • Обновим Node js и npm, после выполняем перезапуск сервера
sudo npm install -g n
sudo n stable
  • Устанавливаем все зависимости
cd tech-interview-trainer
npm i
  • Создаем глобальную переменную
nano .env
  • Создаем внутри файлов .env две переменные
BOT_API_KEY=''
ADMIN_ID=''
  • Устанавливаем pm2 для запуска бота
npm i pm2 -g
  • Запуск бота на сервере
pm2 start index.js

Документация по grammy js

Документация grammy js

Authors

About

Telegram Бот для подготовки к собеседованию на Frontend разработчика. JavaScript + grammY

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /