536.17K
Categories: softwaresoftware databasedatabase

Расходы АЗС

1.

Выпускной проект
Расходы АЗС
группа Python 03 :
<names>
27 октября 2023

2.

АКТУАЛЬНАЯ ПРОБЛЕМА
• В настоящий момент в Кыргызстане функционирует 170 АЗС Red Petroleum
• Для анализа деятельности каждой АЗС в отдельности и всей сети в целом,
каждой АЗС формируется ежемесячный отчет по расходам
x 170

3.

АКТУАЛЬНАЯ ПРОБЛЕМА
• Временные издержки:
огромное количество времени и человеческого ресурса необходимо для
ручного сбора и ввода данных
• Человеческий фактор:
работа с большими массивами данных неизбежно ведет к механическим
ошибкам при сборе и вводе данных
• Проблемы с масштабированием:
внедрение новых показателей для анализа или интеграция показателей
новых АЗС происходит медленно, отсутствие механизма фильтрования данных
делает материал все менее доступным для последующего пользователя

4.

АРХИТЕКТУРА РЕШЕНИЯ
Бэкенд выполняет следующие функций:
• Управление данными о расходах и пользователях:
Модель Expense предоставляет хранение информации о расходах, такие как отдел, вид расхода, дата, сумма и валюта.
Модель User позволяет хранить информацию о пользователях.
• Предоставление удобного интерфейса:
Представление Homepage позволяет пользователям просматривать и фильтровать данные о расходах с использованием различных
параметров, таких как дата, отдел, вид расхода и сумма.
Представление PlaceholderUsers и ExcelUsers позволяют импортировать данные о пользователях из разных источников, таких как удаленный
JSON-источник и Excel-файлы, создавая или обновляя записи пользователей в базе данных.
• Импорт данных из внешних источников:
Представления DepartmentExcel и TypeOfExpenseExcel обеспечивают возможность импорта данных о отделах и видах расходов из Excelфайлов, обогащая базу данных актуальными данными.
• Эффективная фильтрация данных:
Фильтр ExpenseFilter позволяет пользователям выбирать и фильтровать данные о расходах по различным параметрам, облегчая анализ и
поиск нужных записей.
• Модульность и масштабируемость:
Приложение построено с учетом модульной архитектуры, что обеспечивает его масштабируемость и готовность к дальнейшему расширению
функциональности.
• Обработка ошибок и безопасность:
Реализованы механизмы обработки ошибок и логирования для обеспечения надежности и отказоустойчивости приложения.
Обеспечивается безопасность данных и пользователей. (User.objects.get_or_create. Это помогает избежать создания дубликатов
пользователей.)(Представление Homepage использует Django-фильтр для фильтрации данных о расходах. Это может помочь в
предотвращении некорректных запросов.)

5.

АРХИТЕКТУРА РЕШЕНИЯ
База данных:
• Currency: Модель для хранения информации о валютах.
• Department : Модель для хранения информации о отделах.
• ExcelSource : Модель используемая для хранения загруженных Excel-файлов.
• Expense : Модель для хранения информации о расходах.
• Station : Модель для хранения информации о станциях (не используется в предоставленном
коде).
• TypeOfExpense : Модель для хранения информации о видах расходов.
• User : Модель для хранения информаций о пользователе
База данных предоставляет информацию о расходах (Expense), видах расходов
(TypeOfExpense), отделах (Department), валютах (Currency) и загруженных Excel-файлах
(ExcelSource). В базе данных также есть модели, которые могут быть не использованы в
текущей версии приложения (например, модель Station).

6.

7.

СХЕМА СИСТЕМЫ
• Пользовательский интерфейс:
Пользователи взаимодействуют с приложением через веб-интерфейс.
Интерфейс предоставляет доступ к различным функциям приложения, таким как управление данными о
расходах, отделах, пользователях, а также фильтрацию данных о расходах.
Пользователи могут загружать Excel-файлы для импорта данных о расходах, отделах и пользователях.
• Бэкенд (Django приложение):
Обрабатывает запросы от пользовательского интерфейса.
Взаимодействует с базой данных для сохранения, извлечения и обновления данных.
Реализует логику для импорта данных из Excel-файлов.
Предоставляет функциональность фильтрации данных о расходах.
• Excel-файлы:
Используются для импорта данных о расходах, отделах и пользователях.
Данные из файлов сохраняются в базе данных.
• Внешние источники данных:
Для модели User, данные могут быть импортированы из удаленного JSON-источника, такого как
JSONPlaceholder API.

8.

АР Х ИТЕК ТУР А Р ЕШ ЕНИЯ
БАЗА
ДАННЫ Х
БАЗА
ДАННЫ Х
A PI
EX C EL
РАБОТНИК АЗС(ПОЛЬЗОВАТЕЛЬ)

9.

ТЕХ НОЛ ОГ ИИ
•Django: Фреймворк для разработки веб-приложений на языке Python.
•Django Bootstrap 5: Библиотека для интеграции Bootstrap 5 в проекты Django.
•Openpyxl: Библиотека для работы с файлами формата Excel.
•Django Filters: Библиотека для создания фильтров для запросов к базе данных.
•Requests: Библиотека для выполнения HTTP-запросов к удаленным ресурсам, используется для
получения данных о пользователях из JSONPlaceholder API.

10.

Спасибо за внимание
С С Ы Л К А Н А Р ЕП О З И Т О Р И Й :
группа Python 03:
https://github.com/Amankaium/peo -station-report
<NAMES>
28.10.2023
English     Русский Rules