Веду разработку с ноября 2023 года
Вакантист — это Telegram-бот, который позволяет пользователям подписываться на вакансии по интересующим категориям и получать уведомления о новых предложениях.
В боте всего порядка 800 пользователей, более 400 активны.
Используемые технологии:
- PostgreSQL
- RubyOnRails (ruby 3.0, rails 7.0). Приложение написано с использованием Service, Interactors. API, GraphQL.
- Тесты - rspec.
- Описание API - OpenAPI, тестирование с помощью Skooma.
- Была реализована интеграцию с Юкассой.
- Развертывание - Docker.
- Git - git flow.
Планы по развитию:
- Дать возможность пользователям создавать свои категории
- Каждый день давать один бесплатный поинт тем, кто есть в боте. реализация с использованием sidekiq
- Пользователь заходит в бота: Перейти к рабочему боту.
- Нажимает на кнопку «Категории».
- Выбирает нужные категории вакансий.
- После выбора категорий пользователь сразу получает ранее опубликованные вакансии и начинает получать новые вакансии по выбранным тематикам.
Следуйте этим шагам, чтобы запустить бота на своем устройстве:
- Скачайте проект.
- В файле
config/secrets.yml
добавьте токен вашего Telegram-бота и ID чата, в который будут отправляться ошибки.
- Для работы вебхуков установите Ngrok: Инструкция по установке Ngrok.
-
Файл
docker-compose.yml
для режима разработки должен иметь следующую конфигурацию:services: db: image: postgres volumes: - ./tmp/db:/var/postgresql/data environment: POSTGRES_PASSWORD: password tgbot: build: . command: bash -c "bin/rake telegram:bot:poller" volumes: - .:/chatbottg web: build: . command: bash -c "rm -f tmp/pids/server.pid && RAILS_ENV=development bundle exec rails s -p 3000 -b '0.0.0.0'" volumes: - .:/chatbottg ports: - "3000:3000" depends_on: - db - tgbot ngrok: image: ngrok/ngrok:latest command: - "http" - "web:3000" environment: NGROK_AUTHTOKEN: "Ваш_Token" ports: - "4040:4040"
- Выполните команды:
docker compose build
docker compose up
После запуска бот будет доступен. Чтобы остановить приложение, нажмите Ctrl + C
в консоли или выполните команду:
docker compose stop
- Убедитесь, что токен для Ngrok заменен на ваш личный NGROK_AUTHTOKEN.
- Проект использует PostgreSQL в качестве базы данных и предполагает, что у вас установлена Docker среда.