Skip to content

IWKMS99/hh-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Веб-приложение для управления вакансиями

Это веб-приложение разработано для управления данными о вакансиях. Оно состоит из двух микросервисов: main и service.

Содержание

  1. Описание проекта
  2. Настройка окружения
  3. Запуск приложения
  4. Миграции базы данных
  5. Работа с приложением
  6. Тестирование

Описание проекта

Проект разделен на два микросервиса:

  • Main: отвечает за отображение главной страницы, обновление данных о вакансиях и работу с пользовательским интерфейсом.
  • Service: предоставляет API для работы с данными о вакансиях и связанной функциональностью.

Оба микросервиса используют Flask в качестве веб-фреймворка и SQLAlchemy для работы с базой данных PostgreSQL.

Настройка окружения

Для запуска проекта вам понадобится Docker и docker-compose.

Шаги настройки окружения:

  1. Установите Docker и docker-compose.

  2. Склонируйте репозиторий проекта:

    git clone <repository_url>
    cd <project_directory>
  3. Создайте файл .env в корне проекта и добавьте в него следующие переменные окружения:

     DATABASE_URL=postgresql://postgres:password@db:5432/Vacancies

Запуск приложения

Для запуска проекта выполните следующие команды:

docker-compose up --build

Эта команда соберет и запустит контейнеры для сервисов main, service и db. После успешного запуска, вы можете открыть веб-приложение по адресу http://localhost:5000/.

Миграции базы данных

Для управления миграциями базы данных используйте инструмент Flask-Migrate.

Инициализация миграций:

docker-compose exec main flask db init
docker-compose exec service flask db init

Создание миграций:

docker-compose exec main flask db migrate
docker-compose exec service flask db migrate

Применение миграций:

docker-compose exec main flask db upgrade
docker-compose exec service flask db upgrade

Эти команды инициализируют, создают и применяют миграции базы данных для сервисов main и service.

Работа с приложением

После успешной сборки перейдите по адресу http://localhost:5000/ Для начала работы с приложением нажмите на кнопку "Обновить данные", после чего 1000+ записей с вакансиями из hh.ru подгрузятся в таблицу на странице и в бд. Как только progress bar на главной странице заполнится, можно будет кликнуть на "Работа с данными" в навигационной панели и перейти к сортировке и фильтрации.

Работа с данными

Изначально все данные подгрузятся из бд и будут отсортированы по названию города. Затем в полях сверху можно будет выбрать как фильтровать и как сортировать (возможен множественный выбор).

Тестирование фильтрации и сортировки веб-приложения для управления вакансиями

Для обеспечения корректной работы фильтрации и сортировки данных о вакансиях веб-приложение было тщательно протестировано на локальной разработочной среде. Ниже приведены основные аспекты тестирования и используемые методики:

Локальное тестирование

Тестирование фильтрации

  • Сценарии тестирования: Были разработаны тестовые сценарии для проверки фильтрации данных о вакансиях по различным критериям, таким как название вакансии, работодатель, местоположение и тип занятости.
  • Проверка корректности данных: Проверялось, что при применении фильтров выводятся только соответствующие результаты, и не происходит потери данных или искажений.

Тестирование сортировки

  • Варианты сортировки: Проводилось тестирование сортировки данных о вакансиях по различным полям, таким как название вакансии, работодатель, местоположение и другие.
  • Проверка порядка данных: Убедились, что данные корректно сортируются в выбранном пользователем порядке, с учетом возможных спецификаций сортировки (например, по алфавиту, по возрастанию/убыванию и т.д.).

Дополнительные аспекты тестирования

Производительность

  • Загрузка страницы: Оценивалась скорость загрузки страницы с отфильтрованными и отсортированными данными при различных объемах данных.
  • Отзывчивость интерфейса: Проверялось время ответа приложения при одновременной работе с несколькими пользователями и при загрузке большого объема данных.

Использование браузера и API

  • Тестирование через браузер: Использовались автоматизированные и ручные тесты через браузер для проверки работы интерфейса приложения, включая взаимодействие с элементами пользовательского интерфейса и корректность отображения данных.
  • API тестирование: Производилась проверка API для убедительности в правильности работы HTTP запросов и корректности ответов сервера.

Заключение

Локальное тестирование фильтрации и сортировки веб-приложения показало высокую степень надежности и соответствия функционала требованиям. Тестирование включало не только проверку функциональности, но и оценку производительности, что обеспечило стабильную и эффективную работу приложения на этапе разработки.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published