# Строительная компания

# Информационная система «Строительная компания»

Информационная система «Строительная компания» представляет собой настольное приложение, разработанное на языке программирования **C#** с использованием технологии **Windows Forms**. Программа предназначена для работы с базой данных **PostgreSQL** и обеспечивает удобный графический интерфейс для просмотра, поиска, добавления, редактирования, удаления и экспорта данных.

# Введение

## Основные возможности

- Авторизация пользователя.
- Подключение к базе данных PostgreSQL.
- Просмотр таблиц базы данных.
- Поиск записей.
- Добавление новых записей.
- Редактирование существующих записей.
- Удаление записей.
- Экспорт данных в CSV.
- Обновление отображаемых данных.

# Назначение и условия применения

Программа предназначена для автоматизации работы сотрудников строительной компании с базой данных.

Для работы приложения необходимо:


| Требование                    | Описание                                                               |
| --------------------------------------- | ------------------------------------------------------------------------------ |
| Операционная система | Windows 7 и выше                                                          |
| .NET Framework                          | Версия 4.7.2 или выше                                             |
| СУБД                                | PostgreSQL 12 и выше                                                      |
| Сетевое подключение   | Доступ к серверу PostgreSQL                                      |
| Права доступа               | Права на чтение/запись в каталог установки |

## Порядок установки

Для установки программы выполните следующие шаги:

- [ ]  **Шаг 1.** Скачайте установочный файл `ConstructionCompanySetup.exe`
- [ ]  **Шаг 2.** Запустите скачанный файл двойным щелчком мыши
- [ ]  **Шаг 3.** Выберите язык установки (русский или английский)
- [ ]  **Шаг 4.** Нажмите «Далее» в приветственном окне
- [ ]  **Шаг 5.** Выберите папку для установки или оставьте значение по умолчанию (`C:\Program Files\ConstructionCompany`)
- [ ]  **Шаг 6.** Нажмите «Установить» для начала копирования файлов
- [ ]  **Шаг 7.** Дождитесь завершения установки
- [ ]  **Шаг 8.** Нажмите «Готово» для закрытия мастера установки
- [ ]  **Шаг 9.** Запустите приложение через ярлык на рабочем столе или в меню «Пуск»

### Проверка установки

- [X]  Программа установлена.
- [X]  Создан ярлык на рабочем столе.
- [X]  Программа успешно запускается.
- [X]  Выполняется подключение к базе данных.
- [X]  Основные функции работают корректно.

# Описание операций

### 1. Авторизация

При запуске приложения открывается форма входа. Введите:

- **Логин** — имя пользователя PostgreSQL
- **Пароль** — пароль пользователя PostgreSQL

После успешного входа открывается главное окно программы.

### 2. Выбор таблицы

В выпадающем списке **«Таблицы»** выберите нужную таблицу. Данные автоматически загрузятся в таблицу.

### 3. Поиск данных

В поле **«Поиск»** введите текст для поиска. Поиск выполняется автоматически по всем текстовым полям выбранной таблицы.

### 4. Добавление записи

Нажмите кнопку **«Добавить»**, заполните поля в открывшейся форме и нажмите **«Сохранить»**.

### 5. Редактирование записи

Выделите запись в таблице и нажмите кнопку **«Редактировать»** или дважды кликните по строке. Измените данные и нажмите **«Сохранить»**.

### 6. Удаление записи

Выделите запись и нажмите кнопку **«Удалить»**. Подтвердите удаление в диалоговом окне.

### 7. Экспорт в CSV

Нажмите кнопку **«Экспорт CSV»**, выберите путь и имя файла. Данные будут сохранены в формате CSV.

Все изменения автоматически сохраняются в базе данных PostgreSQL.

## Термины и сокращения


| Термин        | Определение                                                                           |
| ------------------- | ------------------------------------------------------------------------------------------------ |
| **СУБД**        | Система управления базами данных                                    |
| **PostgreSQL**      | Реляционная СУБД с открытым исходным кодом                  |
| **CSV**             | Comma-Separated Values — текстовый формат для табличных данных |
| **SQL**             | Structured Query Language — язык структурированных запросов        |
| **ER-модель** | Entity-Relationship модель — модель «сущность-связь»                 |
| **Git**             | Распределённая система контроля версий                        |
| **Inno Setup**      | Инструмент для создания установщиков Windows                    |
| **RLS**             | Row Level Security — ограничение доступа на уровне строк         |
