1.18M
Categories: programmingprogramming databasedatabase

Расходы АЗС

1.

Выпускной
проект
Расходы АЗС
группа Python 03 :
Санжар Смагул
Муханбеткалиев Амир
Вяткин Виталий
27 октября
2023

2.

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

3.

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

4.

АРХИТЕКТУРА РЕШЕНИЯ
Бэкенд выполняет следующие функций:
Управление данными о расходах и пользователях:
Модель Expense предоставляет хранение информации о расходах, такие как отдел, вид расхода, дата, сумма и валюта.
Модель User позволяет хранить информацию о пользователях.
Предоставление удобного интерфейса:
Представление Homepage позволяет пользователям просматривать и фильтровать данные о расходах с использованием различных
параметров, таких как дата, отдел, вид расхода и сумма.
Представление PlaceholderUsers и ExcelUsers позволяют импортировать данные о пользователях из разных источников, таких как удаленный JSONисточник и Excel-файлы, создавая или обновляя записи пользователей в базе данных.
Импорт данных из внешних источников:
Эффективная фильтрация данных:
Фильтр ExpenseFilter позволяет пользователям выбирать и фильтровать данные о расходах по различным параметрам, облегчая анализ и поиск
нужных записей.
Модульность и масштабируемость:
Представления DepartmentExcel и TypeOfExpenseExcel обеспечивают возможность импорта данных о отделах и видах расходов из Excelфайлов, обогащая базу данных актуальными данными.
Приложение построено с учетом модульной архитектуры, что обеспечивает его масштабируемость и готовность к дальнейшему расширению
функциональности.
Обработка ошибок и безопасность:
Реализованы механизмы обработки ошибок и логирования для обеспечения надежности и отказоустойчивости приложения.
Обеспечивается безопасность данных и пользователей. (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
Санжар Смагул
Муханбеткалиев Амир
Вяткин Виталий
28.10.2023
English     Русский Rules