### Пример приложения для работы с БД Небольшое десктоп-приложение на PyQt5 для работы с PostgreSQL, Neo4j, Apache AGE, InfluxDB 3 Core и MongoDB. ### Стек - PyQt5 — графический интерфейс - PostgreSQL (psycopg2) — реляционная БД для пользователей - Neo4j — графовая БД - Apache AGE — графовая БД в рамках PostgreSQL - InfluxDB 3 Core — БД временных рядов - MongoDB (pymongo) — документ-ориентированная БД ### Скриншоты **PostgreSQL:** ![form.png](form.png) **Neo4j:** ![neo_form.png](neo_form.png) ### Требования - Python 3.10+ - Установленный PostgreSQL и доступ к серверу БД - Установленный Neo4j и загруженный обучающий граф фильмов (Movie Graph example) - Для Apache AGE: установленное расширение `age` в PostgreSQL и доступ к базе, где оно включено - Для InfluxDB 3 Core: запущенный сервер, заранее созданная база и токен с правами на запись и чтение - Для MongoDB: запущенный MongoDB сервер и доступ к целевой базе ### Настройка окружения 1. Переименовать файл примера переменных окружения `.env_example` в `.env`: Затем откройте `.env` и при необходимости измените значения: ```env POSTGRES_ACTIVE=false # включить PostgreSQL-часть приложения, установив true POSTGRES_USER=postgres POSTGRES_DB=university POSTGRES_PASS=your_password POSTGRES_HOST=localhost POSTGRES_PORT=5432 NEO_ACTIVE=false # включить Neo4j-часть приложения, установив true NEO_USER=neo4j NEO_PASS=your_password NEO_HOST=neo4j://localhost:7687 AGE_ACTIVE=false # включить Apache AGE, установив true AGE_USER=postgres AGE_PASS=your_password AGE_HOST=localhost AGE_PORT=5432 AGE_DB=university AGE_GRAPH_NAME=movie_graph INFLUX_ACTIVE=false # включить InfluxDB 3 Core, установив true INFLUXDB3_HOST=http://localhost:8181 INFLUXDB3_AUTH_TOKEN=your_token INFLUXDB3_DATABASE=sensors MONGO_ACTIVE=false # включить MongoDB, установив true MONGO_URI=mongodb://localhost:27017 MONGO_DB=movie_data MONGO_COLLECTION=movies ``` 2. Создайте и активируйте виртуальное окружение: Windows, PowerShell: ```powershell cd C:\Users\Litoq\Documents\Projects\db_example_app py -m venv .venv .\.venv\Scripts\Activate.ps1 ``` Linux, bash: ```bash cd ~/Projects/db_example_app python3 -m venv .venv source .venv/bin/activate ``` 3. Установите зависимости: ```bash pip install -r requirements.txt ``` ### Запуск приложения В активированном виртуальном окружении выполните: ```powershell py main.py ``` Для PostgreSQL, Neo4j, Apache AGE, InfluxDB 3 Core и MongoDB запросы выполняются только при `*_ACTIVE=true`.