https://github.com/romanpecheritsa/vacancydbmanager
The project is designed to obtain data about companies and vacancies from the website hh.ru , designing tables in a PostgreSQL database and uploading the resulting data to the created tables
https://github.com/romanpecheritsa/vacancydbmanager
json postgresql prettytable psycopg2 requests
Last synced: 11 months ago
JSON representation
The project is designed to obtain data about companies and vacancies from the website hh.ru , designing tables in a PostgreSQL database and uploading the resulting data to the created tables
- Host: GitHub
- URL: https://github.com/romanpecheritsa/vacancydbmanager
- Owner: RomanPecheritsa
- Created: 2024-08-06T08:23:42.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-07T16:27:53.000Z (over 1 year ago)
- Last Synced: 2025-01-07T02:27:38.340Z (about 1 year ago)
- Topics: json, postgresql, prettytable, psycopg2, requests
- Language: Python
- Homepage:
- Size: 56.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Проект по работе с базой данных вакансий
## Описание проекта
Проект предназначен для получения данных о компаниях и вакансиях с сайта hh.ru, проектирования таблиц в базе данных PostgreSQL и загрузки полученных данных в созданные таблицы. В проекте используется Python, библиотека `psycopg2` для работы с PostgreSQL, и библиотека `requests` для взаимодействия с API hh.ru.
## Основные шаги
1. **Получение данных**: Используется публичный API hh.ru для получения информации о работодателях и их вакансиях.
2. **Проектирование таблиц**: Создание таблиц в базе данных PostgreSQL для хранения данных о работодателях и вакансиях.
3. **Заполнение базы данных**: Реализация кода для заполнения таблиц данными.
4. **Класс `DBManager`**: Реализация класса для работы с данными в базе данных.
## Структура проекта
1. **`config.py`**: Конфигурация для подключения к базе данных и настройки логирования.
2. **`vacancy_db_manager/api_service.py`**: Модуль для получения данных о работодателях и вакансиях.
3. **`vacancy_db_manager/db_creator.py`**: Модуль для создания и заполнения базы данных.
4. **`vacancy_db_manager/db_manager.py`**: Реализация класса `DBManager` для работы с базой данных.
5. **`vacancy_db_manager/user_interactions.py`**: Модуль для взаимодействия с пользователем
6. **`main.py`**: Основной скрипт для взаимодействия с пользователем.
## Используемые библиотеки
* `requests`: Для работы с API hh.ru.
* `psycopg2`: Для взаимодействия с PostgreSQL.
* `prettytable`: Для форматирования таблиц.
* `python-dotenv`: Для загрузки переменных окружения из .env файла.
* `logging`: Для логирования ошибок.
* `jmespath`: Для обработки json
## Установка
Для использования программы необходимо установить `poetry` и выполнить следующие шаги:
1. **Клонируйте репозиторий**:
```bash
git clone git@github.com:RomanPecheritsa/VacancyDBManager.git
```
2. **Установите зависимости**:
```bash
poetry install
```
3. **Настройка .env файла**
##### Создайте файл .env в корне проекта и добавьте в него следующие переменные окружения:**
```
DATABASE_NAME=<имя_вашей_базы_данных>
DATABASE_USER=<ваш_пользователь>
DATABASE_PASSWORD=<ваш_пароль>
DATABASE_HOST=<ваш_хост>
DATABASE_PORT=<ваш_порт>
```
## Запуск проекта
1. **Запустите основной скрипт**:
```bash
python main.py
```
## Логирование ошибок
Ошибки при работе с базой данных будут записываться в файл database_errors.log.