بدون توضیح

icp0 b3bf6b7f68 Добавление README 2 هفته پیش
docs b3bf6b7f68 Добавление README 2 هفته پیش
installer b3bf6b7f68 Добавление README 2 هفته پیش
scripts b3bf6b7f68 Добавление README 2 هفته پیش
.gitignore b3bf6b7f68 Добавление README 2 هفته پیش
AppSettings.cs 60734dd941 Добавление проекта 1 ماه پیش
AutorentWinForms.csproj b3bf6b7f68 Добавление README 2 هفته پیش
Database.cs 60734dd941 Добавление проекта 1 ماه پیش
LoginForm.cs 60734dd941 Добавление проекта 1 ماه پیش
MainForm.cs 60734dd941 Добавление проекта 1 ماه پیش
Program.cs 60734dd941 Добавление проекта 1 ماه پیش
README.md b3bf6b7f68 Добавление README 2 هفته پیش
database_security_postgresql.sql 60734dd941 Добавление проекта 1 ماه پیش
dbsettings.example.json b3bf6b7f68 Добавление README 2 هفته پیش
generate_report.py b3bf6b7f68 Добавление README 2 هفته پیش
template_report.docx b3bf6b7f68 Добавление README 2 هفته پیش
template_text.txt b3bf6b7f68 Добавление README 2 هفته پیش
Отчет_ПМ11_Автопрокат.docx b3bf6b7f68 Добавление README 2 هفته پیش

README.md

Аннотация

Информационная система «Автопрокат» представляет собой настольное 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. В окне мастера установки выберите папку для установки.

По умолчанию используется:

   C:\Users\<пользователь>\AppData\Local\AutorentWinForms

Папку можно изменить кнопкой Обзор....

  1. При необходимости оставьте отметку Создать ярлык на рабочем столе.
  2. Нажмите Установить и дождитесь завершения копирования файлов.
  3. Нажмите Готово.
  4. [x] Установка завершена. Приложение можно запустить через ярлык на рабочем столе или через файл:

    C:\Users\<пользователь>\AppData\Local\AutorentWinForms\AutorentWinForms.exe
    

Что устанавливается в систему

  • главный исполняемый файл приложения AutorentWinForms.exe;
  • файл настроек подключения dbsettings.json;
  • зависимости .NET и библиотеки PostgreSQL-драйвера;
  • папка Reports создается при сохранении отчетов и CSV-файлов;
  • ярлык на рабочем столе, если пользователь выбрал соответствующий пункт.

Создание установщика из исходного кода

Для разработчика установщик собирается командой:

powershell -ExecutionPolicy Bypass -File .\scripts\build_installer.ps1

После выполнения команды создается файл:

dist\AutorentSetup.exe

Проверить работоспособность установленной версии можно командой:

.\publish\AutorentWinForms\AutorentWinForms.exe --smoke-test

Успешная проверка завершается без сообщения об ошибке. В консольной сборке режим также выводит строку вида OK: clients=..., audit=..., adminAuth=True.

Файл подключения можно изменить после установки:

<папка установки>\dbsettings.json

Дополнительно можно передать строку подключения через переменную окружения AUTORENT_CONNECTION_STRING. В этом случае файл dbsettings.json не используется.

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

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

Основные операции:

  • Клиенты: поиск, просмотр, добавление, редактирование, удаление и экспорт списка клиентов;
  • Автомобили: учет регистрационного номера, марки, года выпуска, стоимости аренды и статуса;
  • Марки: ведение справочника марок автомобилей, доступно администратору;
  • Аренда: создание договора аренды, изменение периода, стоимости и статуса возврата;
  • Отчеты: формирование аналитической сводки и сохранение ее в HTML или TXT;
  • Аудит: просмотр журнала действий пользователей;
  • CSV: выгрузка текущей таблицы в папку Reports.

Тестовые учетные записи для учебного стенда:

| Логин | Пароль | Роль | | - | - | - | | garanin_gi | пароль PostgreSQL из учебного стенда | Администратор | | manager | Manager123! | Менеджер | | shagavaliev_iv | пароль пользователя просмотра | Аналитик |

Диаграмма развертывания системы

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.

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

| Термин | Расшифровка | | - | - | | ИС | Информационная система | | БД | База данных | | PostgreSQL | Система управления реляционными базами данных | | WinForms | Технология создания настольных приложений Windows на .NET | | Оператор | Пользователь, выполняющий работу в программе | | Администратор | Пользователь с полными правами на данные и справочники | | Менеджер | Пользователь, ведущий клиентов, автомобили и аренды | | Аналитик | Пользователь с правом просмотра данных и отчетов | | CSV | Текстовый формат табличной выгрузки | | Npgsql | .NET-драйвер для подключения к PostgreSQL |