Skip to content

Прототип приложения для клининговой компании с использованием SQL- и NoSQL-подхода

Notifications You must be signed in to change notification settings

Ilyaant/SpecialDB

Repository files navigation

SpecialDB

Командная курсовая работа по дисциплине "Специальные главы по базам данных" (01.03.04 Прикладная математика, НИТУ МИСИС): прототип приложения для выполнения основных функций клининговой компании, таких как прием заказов от пользователей, назначение сотрудников на заказы, прием обратной связи по заказу от клиента и других. В работе использована как реляционная БД, так и NoSQL подход.

Стэк использованных инструментов

  • язык программирования: Python;
  • СУБД для реляционной модели данных и соответствующая библиотека языка Python: SQLite;
  • СУБД для документной модели данных и соответствующая библиотека языка Python: TinyDB;
  • СУБД для модели данных «ключ-значение» и соответствующая библиотека языка Python: PickleDB;
  • библиотека для создания пользовательского интерфейса: PySimpleGUI;
  • среда разработки: VS Code.

Использованные модели данных

В приложении используются 3 различных модели баз данных: реляционная, ключ-значение и документно-ориентированная:

  • В реляционной базе данных хранится вся основная информация клининговой компании: данные о должностях, сотрудниках, клиентах, услугах и заказах.
  • Баз данных "ключ-значение" в проекте две: в одной хранится информация о пользователях (логин, пароль и пр.), а в другой - обратная связь пользователей (номеру заказа соответствует оценка и комментарий клиента).
  • Документная база данных используется для хранения заявок клиентов (требуемые услуги, адрес, стоимость работ и пр.).

Возможности ПО для разных типов пользователей

  1. Администратор (вход по логину и паролю admin):
    • Добавить услугу.
    • Добавить должность.
    • Добавить сотрудника.
    • Назначить сотрудника.
    • Редактировать сотрудника.
    • Редактировать должность.
    • Удалить сотрудника.
    • Удалить должность.
    • Просмотреть отзывы.
    • Просмотреть клиентов.
    • Просмотреть сотрудников.
    • Просмотреть услуги.
    • Просмотреть заказы.
  2. Пользователь:
    • Зарегистрировать учетную запись физического лица.
    • Зарегистрировать учетную запись юридического лица.
    • Создать заказ, при этом получив информацию о доступных услугах и итоговой цене заказа.
    • Просмотреть свои заказы.
    • Оценить качество выполнения заказа.
  3. Сотрудник:
    • Просмотреть информацию о заказе, на который сотрудник назначен, и клиенте.

Описание файлов проекта

  • app.py: основной файл приложения, содержащий код пользовательского интерфейса;
  • def_admin.py: файл, содержащий все функции, реализующие возможности админа приложения;
  • def_user.py: файл, содержащий все функции, реализующие возможности клиента клининговой компании;
  • def_worker.py: файл, содержащий все функции, реализующие возможности сотрудника клининговой компании;
  • utils.py: файл, содержащий вспомогательные функции проекта;
  • Cleaning_Company.db: реляционная база данных клининговой компании;
  • orders.db: документная база данных для хранения заявок клиентов;
  • rates.db: база данных "ключ-значение", хранящая обратную связь пользователей;
  • users.db: база данных "ключ-значение", хранящая информацию о пользователях;
  • create_db.ipynb: блокнот, который использовался для создания баз данных и проверки их функционала.

Демонстрация основных экранных форм ПО

Окно входа в систему и регистрации пользователя:

Окно входа в систему и регистрации пользователя

Экран администратора:

Экран администратора

Окно регистрации физического лица:

Окно регистрации физического лица

Окно регистрации юридического лица:

Окно регистрации юридического лица

Окно создания заказа:

Окно создания заказа

Админ – добавление услуги:

Админ – добавление услуги

Админ – добавление должности:

Админ – добавление должности

Админ – добавление сотрудника:

Админ – добавление сотрудника

Админ – просмотр отзывов:

Админ – просмотр отзывов

Админ – просмотр клиентов:

Админ – просмотр клиентов

Админ – просмотр сотрудников:

Админ – просмотр сотрудников

Админ – просмотр услуг:

Админ – просмотр услуг

Админ – просмотр заказов:

Админ – просмотр заказов

Админ – назначение сотрудника:

Админ – назначение сотрудника

Админ – удаление сотрудника:

Админ – удаление сотрудника

Админ – удаление должности:

Админ – удаление должности

Админ – редактирование сотрудника:

Админ – редактирование сотрудника

Админ – редактирование должности:

Админ – редактирование должности

Окно клиента:

Окно клиента

Клиент – просмотр своих заказов:

Клиент – просмотр своих заказов

Клиент – отзыв о заказе:

Клиент – отзыв о заказе

Окно сотрудника:

Окно сотрудника

About

Прототип приложения для клининговой компании с использованием SQL- и NoSQL-подхода

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published