Similar presentations:
Расходы АЗС
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