Skip to content

Altair788/CW_5

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект CW5

Описание

Проект CW5 представляет собой консольное приложение, которое позволяет пользователю взаимодействовать с данными о вакансиях с сайта hh.ru (HeadHunter). Пользователю доступны следующие действия:

  • Получение списка всех компаний и количества вакансий у каждой компании
  • Получение списка всех вакансий с указанием названия компании, названия вакансии и зарплаты и ссылки на вакансию
  • Получение средней зарплаты по вакансиям.
  • Получение списка всех вакансий, у которых зарплата выше средней по всем вакансиям
  • Получение списка всех вакансий, в названии которых содержится ключевое слово
  • Завершение программы

Установка и запуск

  1. Убедитесь, что у вас установлен Python версии 3.12.
  2. Установите зависимости из файла pyproject.toml, используя Poetry:
    poetry install
  3. Запустите приложение:
    python main.py

Зависимости

Для работы проекта требуется установить зависимости, указанные в файле pyproject.toml и poetry.lock, включая:

  • Python 3.12
  • Библиотека pytest для тестирования (pytest 8.2.2).
  • Библиотека pytest-cov для измерения покрытия кода тестами (pytest-cov 5.0.0).
  • Библиотека requests для работы с HTTP запросами (requests 2.32.3).
  • psycopg2 — это библиотека для работы с базами данных PostgreSQL в Python

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

  • main.py: Главный файл проекта, ответственный за запуск.

  • config.py: Содержит константы и пути к данным, список интересующих компаний, параметры для запросов по vacancies и employers, а также функцию - конфигуратор БД - config.

  • data/: Директория с данными:

    • database.ini: Конфигурационный файл с данными для подключения к БД.
  • src/: Директория с основными модулями:

    • api.py: Модуль для работы с API, включает абстрактный класс API, класс Parser для парсинга
    • и обработки данных по вакансиям.
    • dbmanager.py: Модуль для работы с БД PostgreSQL. Включает абстрактный класс AbstractDBManager, класс DBManager
    • для манипуляций с данными и таблицами в БД.
    • employer.py: Модуль для работы с объектами класса Employer.
    • vacancy.py: Модуль для работы с объектами класса Vacancy.
  • tests/: Директория для модульных тестов.

  • pyproject.toml, poetry.lock: Файлы с зависимостями и конфигурацией Poetry.

Автор

Eduard Slobodyanik [email protected]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages