Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Employee Directory

Описание

Консольное приложение на C++, работающее со справочником сотрудников в базе данных PostgreSQL.

Программа поддерживает следующие режимы работы:

  • Создание таблицы сотрудников
  • Добавление одного сотрудника
  • Вывод всех сотрудников
  • Автоматическая генерация большого количества сотрудников
  • Выборка сотрудников по критериям и замер времени

Приложение написано с использованием объектно-ориентированного подхода и библиотеки libpqxx для работы с PostgreSQL.


Требования

  • Операционная система Linux / macOS / WSL (Windows Subsystem for Linux)
  • Компилятор с поддержкой C++20
  • PostgreSQL 14+ (или совместимая версия)

Установка и сборка

  1. Клонируйте репозиторий с submodule для libpqxx:
git clone --recurse-submodules https://github.com/username/employee_app.git
cd employee_app

Если вы уже клонировали без --recurse-submodules, то инициализируйте submodule командой:

git submodule update --init --recursive
  1. Установите зависимости:
sudo apt update
sudo apt install -y cmake g++ libpq-dev postgresql

libpqxx подключается как submodule, отдельная установка libpqxx-dev не нужна.

  1. Создайте базу данных:
sudo -u postgres psql
CREATE DATABASE employees; 
\q
  1. Настройте файл .env на основе шаблона:
cp env_template .env

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

POSTGRES_USER=postgres
POSTGRES_PASSWORD=123
POSTGRES_DB=employees
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
  1. Соберите проект:
mkdir build && cd build  
cmake ..
make

После сборки в папке build/ появится бинарный файл myApp.


Примеры запуска

Запускать приложение нужно из терминала с указанием режима:

./myApp 1

Режимы

Режим Описание Пример запуска
1 Создание таблицы сотрудников ./myApp 1
2 Добавление одного сотрудника ./myApp 2 "Ivanov Petr Sergeevich" 2000-01-01 Male
3 Вывод всех сотрудников ./myApp 3
4 Автоматическая генерация 1,000,000 сотрудников и 100 мужского пола с фамилией на "F" ./myApp 4
5 Выборка сотрудников мужского пола с фамилией на "F" и замер времени ./myApp 5

Настройки подключения к БД

Приложение подключается к PostgreSQL, используя параметры из файла .env.
По умолчанию можно задать следующие значения:

POSTGRES_USER=postgres
POSTGRES_PASSWORD=123
POSTGRES_DB=employees
POSTGRES_HOST=localhost
POSTGRES_PORT=5432 

Эти параметры будут автоматически подставляться при запуске приложения.
Если нужно, можно изменить их в файле .env перед сборкой или запуском.


Очистка

Удаление базы данных:

sudo -u postgres dropdb employees

Удаление скомпилированных файлов:

rm -rf build

Примечания

  • Для корректной работы программы база данных employees должна существовать.
  • Программа кроссплатформенная и не требует Docker.

About

Консольное приложение на C++, работающее со справочником сотрудников в базе данных PostgreSQL.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages