No Description

icp0 589b386ff2 добавление проекта и инсталлера 1 week ago
Properties 589b386ff2 добавление проекта и инсталлера 1 week ago
installer-output 589b386ff2 добавление проекта и инсталлера 1 week ago
.gitignore 589b386ff2 добавление проекта и инсталлера 1 week ago
App.config 589b386ff2 добавление проекта и инсталлера 1 week ago
Client.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
ClientEditForm.Designer.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
ClientEditForm.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
ClientEditForm.resx 589b386ff2 добавление проекта и инсталлера 1 week ago
ClientForm.Designer.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
ClientForm.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
ClientForm.resx 589b386ff2 добавление проекта и инсталлера 1 week ago
ClientRepository.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
Database.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
Dish.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
DishEditForm.Designer.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
DishEditForm.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
DishEditForm.resx 589b386ff2 добавление проекта и инсталлера 1 week ago
DishForm.Designer.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
DishForm.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
DishForm.resx 589b386ff2 добавление проекта и инсталлера 1 week ago
DishRepository.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
Employee.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
EmployeeEditForm.Designer.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
EmployeeEditForm.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
EmployeeEditForm.resx 589b386ff2 добавление проекта и инсталлера 1 week ago
EmployeeForm.Designer.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
EmployeeForm.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
EmployeeForm.resx 589b386ff2 добавление проекта и инсталлера 1 week ago
EmployeeRepository.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
LoginForm.Designer.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
LoginForm.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
LoginForm.resx 589b386ff2 добавление проекта и инсталлера 1 week ago
MainForm.Designer.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
MainForm.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
MainForm.resx 589b386ff2 добавление проекта и инсталлера 1 week ago
OPERATOR_GUIDE.md 589b386ff2 добавление проекта и инсталлера 1 week ago
Order.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
OrderEditForm.Designer.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
OrderEditForm.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
OrderEditForm.resx 589b386ff2 добавление проекта и инсталлера 1 week ago
OrderForm.Designer.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
OrderForm.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
OrderForm.resx 589b386ff2 добавление проекта и инсталлера 1 week ago
OrderItem.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
OrderItemEditForm.Designer.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
OrderItemEditForm.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
OrderItemEditForm.resx 589b386ff2 добавление проекта и инсталлера 1 week ago
OrderRepository.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
PaymentForm.Designer.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
PaymentForm.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
PaymentForm.resx 589b386ff2 добавление проекта и инсталлера 1 week ago
Program.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
README.md 589b386ff2 добавление проекта и инсталлера 1 week ago
ReportForm.Designer.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
ReportForm.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
ReportForm.resx 589b386ff2 добавление проекта и инсталлера 1 week ago
ReportRepository.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
Reservation.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
ReservationEditForm.Designer.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
ReservationEditForm.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
ReservationEditForm.resx 589b386ff2 добавление проекта и инсталлера 1 week ago
ReservationForm.Designer.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
ReservationForm.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
ReservationForm.resx 589b386ff2 добавление проекта и инсталлера 1 week ago
ReservationRepository.cs 589b386ff2 добавление проекта и инсталлера 1 week ago
RestaurantApp.csproj 589b386ff2 добавление проекта и инсталлера 1 week ago
RestaurantAppSetup.iss 589b386ff2 добавление проекта и инсталлера 1 week ago
packages.config 589b386ff2 добавление проекта и инсталлера 1 week ago

README.md

Аннотация

RestaurantApp - это настольная информационная система для автоматизации работы ресторана. Программа разработана на C# Windows Forms и предназначена для учета клиентов, сотрудников, блюд, заказов, бронирований столов, платежей и формирования отчетов.

Система подключается к базе данных PostgreSQL, использует разграничение доступа по ролям пользователей и предоставляет графический интерфейс для просмотра, добавления, редактирования и удаления данных.

Введение

Основные возможности программы:

  • авторизация пользователя по логину;
  • разграничение доступа для ролей admin, manager, waiter;
  • просмотр и поиск клиентов ресторана;
  • добавление, редактирование и удаление записей о клиентах;
  • управление справочником блюд и фильтрация блюд по категории и доступности;
  • управление сотрудниками ресторана;
  • создание и ведение заказов;
  • добавление блюд в заказ и расчет суммы заказа;
  • проведение оплаты заказа;
  • закрытие заказов;
  • создание, редактирование и удаление бронирований;
  • просмотр отчетов по выручке, продажам блюд, работе официантов, способам оплаты и остаткам ингредиентов.

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

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

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

  • операционная система Windows;
  • установленный .NET Framework 4.7.2 или новее;
  • доступ к серверу PostgreSQL;
  • наличие базы данных с нужной структурой таблиц, представлений, функций и триггеров;
  • сетевое подключение к серверу базы данных;
  • учетная запись пользователя в таблице app_user.

Приложение подключается к удаленной базе данных PostgreSQL через библиотеку Npgsql. Параметры подключения заданы в модуле Database.cs.

Установка

  1. Убедиться, что на компьютере установлена Windows.
  2. Установить .NET Framework 4.7.2 или более новую версию.
  3. Проверить наличие доступа к серверу PostgreSQL и базе данных приложения.
  4. Собрать проект в Visual Studio в конфигурации Release.
  5. Открыть файл RestaurantAppSetup.iss в Inno Setup.
  6. [x] Скомпилировать установщик командой:

    ISCC.exe RestaurantAppSetup.iss
    
  7. [x] Запустить созданный файл installer-output\RestaurantAppSetup.exe.

  8. [x] Следовать шагам мастера установки.

  9. [x] После завершения установки запустить программу через ярлык в меню "Пуск" или на рабочем столе.

  10. [ ] Войти в систему под учетной записью пользователя.

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

Авторизация

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

Работа с клиентами

Раздел "Клиенты" позволяет просматривать список клиентов, искать записи, добавлять новых клиентов, редактировать существующие данные и удалять выбранные записи. В таблице отображаются имя, фамилия, телефон, email, дата рождения, бонусные баллы и дата регистрации.

Работа с блюдами

Раздел "Блюда" предназначен для ведения меню ресторана. Пользователь может искать блюда, фильтровать их по категории и доступности, добавлять новые позиции, редактировать сведения о блюде и удалять выбранные записи.

Работа с сотрудниками

Раздел "Сотрудники" доступен пользователям с ролями admin и manager. В нем можно просматривать список сотрудников, фильтровать записи по должности и активности, добавлять сотрудников, редактировать их данные и отмечать сотрудника как уволенного.

Работа с заказами

Раздел "Заказы" используется для создания и сопровождения заказов. Пользователь может создать новый заказ, выбрать заказ из списка, добавить в него блюда, изменить или удалить позиции заказа, провести оплату и закрыть заказ.

Работа с бронированиями

Раздел "Бронирования" позволяет вести учет резервирования столов. Пользователь может искать бронирования, фильтровать их по статусу, добавлять новые записи, редактировать существующие и удалять отмененные или ошибочные бронирования.

Работа с отчетами

Раздел "Отчеты" доступен пользователям с ролями admin и manager. В нем отображаются отчеты по дневной выручке, продажам блюд, статистике официантов, способам оплаты и ингредиентам с низким остатком.

Выход из программы

Для завершения работы используется пункт меню "Выход" или стандартная кнопка закрытия окна. После выхода приложение завершает текущий сеанс пользователя.

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

| Термин | Описание | | - | - | | ИС | Информационная система, предназначенная для хранения и обработки данных | | БД | База данных, в которой хранятся сведения ресторана | | PostgreSQL | Система управления базами данных, используемая приложением | | Windows Forms | Технология создания настольных приложений Windows на языке C# | | Npgsql | Библиотека для подключения C#-приложения к PostgreSQL | | Клиент | Посетитель ресторана, сведения о котором хранятся в системе | | Сотрудник | Работник ресторана, например официант или менеджер | | Заказ | Набор блюд, оформленный для клиента или стола | | Бронирование | Запись о резервировании стола на определенное время | | Платеж | Операция оплаты заказа | | Роль | Уровень доступа пользователя к функциям системы | | Инсталлятор | Программа установки, созданная с помощью Inno Setup |