Проект предсатавляет собой базу данных центра телемаркетинга коммерческого банка с которой по средством API ODBC взаимодействуют веб-приложение и desktop клиент. Для защиты базы данных применено прозрачное шифрование, которое обеспечивает целостность файлов базы на устройстве расположения.
Для защиты данных передаваемых по открытым каналам связи предпологается использования ssl/tls.
- Веб-приложение создано на микрофреймворке Flask
- Для CSS использовался Bootstrap, а также был взят шаблон для панели авторизации.
- Приложение - отсебятина автора. Автор не использовал стандарт REST при разработке.
- Учитывая предыдущий пункт. URL указывает не на физическую директорию, а на эмулируемую в контексте функции.
- Blueprints не были использованы. Использование дало бы увеличение гибкости, оптимизованности и общего качества приложения.
- Приложение в основном статическое не учитывая live-чат, который использует вебсокеты.
- Приложение не использует AJAX.
- Приложениие собиралось в
app
остальные.py
файлы использовались как модули/библиотеки для доступа к классу выполняющего определенный функционал. - Файл
Encrypt
предназанчен для эмуляции хеширования пароля пользователя при регистрации, полученный хеш заносится вручную в DB. В последствии веб-приложение будет проверять при входе пользователя в систему старый хеш из дб с новым от вводимого пароля пользователя. - Предназначено для использованием клиентами для получения услуг банка, а также работниками низшего звена для обслуживания клиентов в чат команатах.
- В
db
осуществляется подключение к SQL серверу и получение массивов строк таблиц с занесением в словари для дальнейшей удобной обработки. - В
db_check
осуществляется идентификация и аутентификация пользователя. Cookie_check
проверяет наличие кук в браузере, если они есть то сравнивает с куками в бд(эти куки были занесены при успешном первом входе пользователя), при совпадении кук пользователь проходит авторизацию и получает права иначе - нет.
- Разрабатывалось с использованием стандартной графической библиотке tkinter
- Представляет собой GUI для продукт менеджера банка
- Авторизации совершается через SQL Server Authentication по средствам использования API ODBC
-
Связь «Клиенты» – «Сообщения» (1: М)
Один клиент может получить несколько персонализированных сообщений. Несколько персонализированных сообщений принадлежат к одному конкретному клиенту.
-
Связь «Аккаунты» – «Клиенты» (М:1)
Аккаунт выдается пользователю для управления своим счетом и получения услуг банка, не выходя из дома. К аккаунту привязан конкретный счет, клиент может оформить несколько счетов в банке для которых потребуются несколько аккаунтов.
-
Связь «Аккаунты» – «Детали счета» (1: М)
Аккаунт может иметь счет с различной валютой
-
Связь «Детали счета» – «Чеки» (1: М)
Используя один счет можно совершить несколько операций. Несколько операций могут быть совершены на одном счете.
-
Связь «Аккаунты» – «Новости банка» (1: М)
К одному аккаунты могут относиться несколько персонализированных новостей. Несколько персонализированных новостей относятся к одному аккаунтов.
-
Связь «Клиенты» – «Опросы» (1: M)
Одному клиенту соответствует несколько персонализированных опросов. Несколько персонализированных опросов относятся к одному клиенту.
-
Связь «Аккаунты» – «Работники» (М: 1)
Аккаунт выдается работник для оказания услуг клиентам в веб-приложение банка. Из-за расширения функционала банка сотруднику могут принадлежать несколько аккаунтов с разным функционалом.
-
Связь «Работники» – «Компании» (1: M)
Один работник на одну кампанию. Обычно выбирается профессионал области для удачного осуществления поставленной задачи. Один работник может участвовать в нескольких компаниях.
-
Связь «Лиды» – «Сообщения» (1: М)
Один лид может получить несколько персонализированных сообщений. Несколько персонализированных сообщений могут относиться к одному лиду. Примечание Лид - возможный клиент банка
-
Связь «Компания» – «Лид» (М: 1)
В нескольких компаниях может участвовать один лид. Один лид может участвовать в нескольких компаниях.
-
Связь «Компании» – «Продукты» (1: М)
Одна компания может продвигать несколько продуктов.
Демонстрация провальной авторизации |
Демонстрация успешной авторизации |
Демонстрация live-чата |
Демонстрация совершения платежа |
Демонстрация составления отзыва |
Демонстрация провальной авторизации |
Демонстрация успешной авторизации |
Демонстрация сбора данных о опросах |
Демонстрация работы с опросами |
Чтобы посмотреть нажми на изображение |
Демонстрация работы с новостями |
Чтобы посмотреть нажми на изображение |