Files
db_example_app/README.md
T
2026-04-08 16:04:23 +03:00

2.8 KiB
Raw Blame History

Пример приложения для работы с БД

Небольшое десктоп-приложение на PyQt5 для работы с PostgreSQL, Neo4j и Apache AGE.

Стек

  • PyQt5 — графический интерфейс
  • PostgreSQL (psycopg2) — реляционная БД для пользователей
  • Neo4j — графовая БД для фильмов
  • Apache AGE — графовая модель поверх PostgreSQL для фильмов
  • python-dotenv — загрузка параметров подключения из файла .env

Скриншоты

PostgreSQL:

form.png

Neo4j:

neo_form.png

Требования

  • Python 3.10+
  • Установленный PostgreSQL и доступ к серверу БД
  • Установленный Neo4j и загруженный обучающий граф фильмов (Movie Graph example)
  • Для Apache AGE: установленное расширение age в PostgreSQL и доступ к базе, где оно включено

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

  1. Переименовать файл примера переменных окружения .env_example в .env:

    Затем откройте .env и при необходимости измените значения:

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
  1. Создайте и активируйте виртуальное окружение:

Windows, PowerShell:

cd C:\Users\Litoq\Documents\Projects\db_example_app
py -m venv .venv
.\.venv\Scripts\Activate.ps1

Linux, bash:

cd ~/Projects/db_example_app
python3 -m venv .venv
source .venv/bin/activate
  1. Установите зависимости:
pip install -r requirements.txt

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

В активированном виртуальном окружении выполните:

py main.py

Приложение подключится к PostgreSQL, создаст БД/таблицу и тестовые данные (если их еще нет), выполнит запрос к Neo4j (если активно) и/или к Apache AGE (если активно), а затем отобразит результаты в отдельных окнах.