Командная курсовая работа по дисциплине "Специальные главы по базам данных" (01.03.04 Прикладная математика, НИТУ МИСИС): прототип приложения для выполнения основных функций клининговой компании, таких как прием заказов от пользователей, назначение сотрудников на заказы, прием обратной связи по заказу от клиента и других. В работе использована как реляционная БД, так и NoSQL подход.
- язык программирования: Python;
- СУБД для реляционной модели данных и соответствующая библиотека языка Python: SQLite;
- СУБД для документной модели данных и соответствующая библиотека языка Python: TinyDB;
- СУБД для модели данных «ключ-значение» и соответствующая библиотека языка Python: PickleDB;
- библиотека для создания пользовательского интерфейса: PySimpleGUI;
- среда разработки: VS Code.
В приложении используются 3 различных модели баз данных: реляционная, ключ-значение и документно-ориентированная:
- В реляционной базе данных хранится вся основная информация клининговой компании: данные о должностях, сотрудниках, клиентах, услугах и заказах.
- Баз данных "ключ-значение" в проекте две: в одной хранится информация о пользователях (логин, пароль и пр.), а в другой - обратная связь пользователей (номеру заказа соответствует оценка и комментарий клиента).
- Документная база данных используется для хранения заявок клиентов (требуемые услуги, адрес, стоимость работ и пр.).
- Администратор (вход по логину и паролю admin):
- Добавить услугу.
- Добавить должность.
- Добавить сотрудника.
- Назначить сотрудника.
- Редактировать сотрудника.
- Редактировать должность.
- Удалить сотрудника.
- Удалить должность.
- Просмотреть отзывы.
- Просмотреть клиентов.
- Просмотреть сотрудников.
- Просмотреть услуги.
- Просмотреть заказы.
- Пользователь:
- Зарегистрировать учетную запись физического лица.
- Зарегистрировать учетную запись юридического лица.
- Создать заказ, при этом получив информацию о доступных услугах и итоговой цене заказа.
- Просмотреть свои заказы.
- Оценить качество выполнения заказа.
- Сотрудник:
- Просмотреть информацию о заказе, на который сотрудник назначен, и клиенте.
- 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: блокнот, который использовался для создания баз данных и проверки их функционала.
Окно входа в систему и регистрации пользователя:
Экран администратора:
Окно регистрации физического лица:
Окно регистрации юридического лица:
Окно создания заказа:
Админ – добавление услуги:
Админ – добавление должности:
Админ – добавление сотрудника:
Админ – просмотр отзывов:
Админ – просмотр клиентов:
Админ – просмотр сотрудников:
Админ – просмотр услуг:
Админ – просмотр заказов:
Админ – назначение сотрудника:
Админ – удаление сотрудника:
Админ – удаление должности:
Админ – редактирование сотрудника:
Админ – редактирование должности:
Окно клиента:
Клиент – просмотр своих заказов:
Клиент – отзыв о заказе:
Окно сотрудника: