# Аннотация Информационная система «Автопрокат» представляет собой настольное Windows Forms приложение на C# для учета клиентов, автомобилей, марок и договоров аренды. Программа подключается к PostgreSQL, инициализирует учебную схему данных, разграничивает права пользователей по ролям и позволяет формировать отчеты. # Введение Основные возможности системы: - авторизация пользователей с ролями `admin`, `manager`, `viewer`; - просмотр, поиск, добавление, изменение и удаление клиентов; - ведение справочника автомобилей и марок; - оформление и сопровождение договоров аренды; - экспорт таблиц в CSV; - формирование отчетов в HTML и TXT; - просмотр журнала операций и событий аудита; - проверка работоспособности через режим `--smoke-test`; - разворачивание приложения через графический установщик `AutorentSetup.exe`. # Назначение и условия применения Программа предназначена для автоматизации работы учебного пункта автопроката: хранения сведений о клиентах, автопарке и арендах, контроля доступности автомобилей, подготовки отчетов и фиксации действий пользователей. Условия применения: - операционная система Windows 10 или новее; - установленный .NET SDK 9.0 для сборки проекта; - доступ к серверу PostgreSQL; - учетная запись БД с правом подключения к рабочей базе и схеме; - сетевой доступ к серверу `edu-pg.itiscaf.ru` или к другому PostgreSQL-серверу, указанному в `dbsettings.json`. # Установка ## Шаги установки для пользователя 1. Запустите файл `AutorentSetup.exe`. 2. В окне мастера установки выберите папку для установки. По умолчанию используется: ```text C:\Users\<пользователь>\AppData\Local\AutorentWinForms ``` Папку можно изменить кнопкой `Обзор...`. 3. При необходимости оставьте отметку `Создать ярлык на рабочем столе`. 4. Нажмите `Установить` и дождитесь завершения копирования файлов. 5. Нажмите `Готово`. 6. Установка завершена. Приложение можно запустить через ярлык на рабочем столе или через файл: ```text C:\Users\<пользователь>\AppData\Local\AutorentWinForms\AutorentWinForms.exe ``` ## Что устанавливается в систему - главный исполняемый файл приложения `AutorentWinForms.exe`; - файл настроек подключения `dbsettings.json`; - зависимости .NET и библиотеки PostgreSQL-драйвера; - папка `Reports` создается при сохранении отчетов и CSV-файлов; - ярлык на рабочем столе, если пользователь выбрал соответствующий пункт. ## Проверка установленной версии Проверить работоспособность установленной версии можно командой из папки установки: ```powershell .\AutorentWinForms.exe --smoke-test ``` Успешная проверка завершается без сообщения об ошибке. В консольной сборке режим также выводит строку вида `OK: clients=..., audit=..., adminAuth=True`. Файл подключения можно изменить после установки: ```text <папка установки>\dbsettings.json ``` Дополнительно можно передать строку подключения через переменную окружения `AUTORENT_CONNECTION_STRING`. В этом случае файл `dbsettings.json` не используется. # Описание операций Пользователь входит в программу через форму авторизации. После успешного входа открывается главное окно с вкладками данных. Набор доступных операций зависит от роли пользователя. Основные операции: - `Клиенты`: поиск, просмотр, добавление, редактирование, удаление и экспорт списка клиентов; - `Автомобили`: учет регистрационного номера, марки, года выпуска, стоимости аренды и статуса; - `Марки`: ведение справочника марок автомобилей, доступно администратору; - `Аренда`: создание договора аренды, изменение периода, стоимости и статуса возврата; - `Отчеты`: формирование аналитической сводки и сохранение ее в HTML или TXT; - `Аудит`: просмотр журнала действий пользователей; - `CSV`: выгрузка текущей таблицы в папку `Reports`. Тестовые учетные записи для учебного стенда: Логин Пароль Роль `garanin_gi` пароль postgresql из таблицы тризбд Администратор `manager` `Manager123!` Менеджер `shagavaliev_iv` пароль postrgesql Аналитик # Диаграмма развертывания системы ```mermaid flowchart LR subgraph Client["Рабочая станция оператора"] User["Оператор"] App["AutorentWinForms.exe"] Settings["dbsettings.json или AUTORENT_CONNECTION_STRING"] Reports["Папка Reports"] end subgraph Build["Среда сборки"] Installer["AutorentSetup.exe"] Publish["publish/AutorentWinForms"] end subgraph Server["Сервер PostgreSQL"] Db["База dbwork"] Schema["Схема автопроката"] Audit["audit_log"] end User --> App Installer --> Publish Publish --> App App --> Settings App --> Reports App -- "Npgsql, TCP 5432" --> Db Db --> Schema Schema --> Audit ``` # Руководство оператора Подробное руководство оператора находится в файле [docs/operator_manual.md](docs/operator_manual.md). # Термины и сокращения Термин - Расшифровка ИС - Информационная система БД - База данных PostgreSQL - Система управления реляционными базами данных WinForms - Технология создания настольных приложений Windows на .NET Оператор - Пользователь, выполняющий работу в программе Администратор - Пользователь с полными правами на данные и справочники Менеджер - Пользователь, ведущий клиентов, автомобили и аренды Аналитик - Пользователь с правом просмотра данных и отчетов CSV - Текстовый формат табличной выгрузки Npgsql - .NET-драйвер для подключения к PostgreSQL