Skip to content

behzod33/course_project_lib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Интерактивный Дашборд Продаж

Описание проекта

Данный проект представляет собой интерактивный дашборд для анализа продаж в велосипедном магазине. Дашборд создан с использованием современных инструментов анализа данных и предназначен для визуализации и исследования различных аспектов продаж, таких как объемы продаж по продуктам, клиентам, магазинам и категориям продуктов.

Автор проекта: Behzod Jumaev Цель проекта: Создание интерактивного дашборда и его деплой в рамках курсового проекта по курсу "Анализ Данных".


Используемые инструменты

  • DuckDB: Колонко-ориентированная СУБД для хранения и обработки данных.
  • Pandas: Библиотека для обработки и анализа данных в Python.
  • Plotly: Библиотека для создания интерактивных графиков и диаграмм.
  • Streamlit: Фреймворк для создания веб-приложений для машинного обучения и анализа данных на Python.

Описание содержимого

  • README.md: Этот файл с описанием проекта, его целей, используемых инструментов и инструкций по запуску.
  • source/: Папка с исходными данными в формате CSV:
    • brands.csv
    • categories.csv
    • customers.csv
    • orders.csv
    • order_items.csv
    • products.csv
    • staffs.csv
    • stores.csv
    • stocks.csv
  • queries/: Папка с SQL-скриптами:
    • create_tables.sql: Скрипт создания таблиц в базе данных.
    • create_views.sql: Скрипт создания представлений (вьюшек).
    • select_queries.sql: Скрипты запросов к вьюшкам для создания датафреймов.
  • my.db: Локальный файл базы данных DuckDB.
  • ddl.py: Модуль для создания таблиц и загрузки данных из файлов источников в базу данных.
  • etl.py: Модуль для извлечения данных из базы данных и создания pandas DataFrame.
  • main.py: Модуль для создания и запуска интерактивного дашборда с использованием Streamlit.
  • requirements.txt: Файл со списком используемых библиотек и их версий.

Инструкции по запуску

1. Клонируйте репозиторий

git clone https://github.com/behzod33/course_project_lib.git

2. Перейдите в папку проекта

cd course_project_lib

3. Установите виртуальное окружение (опционально)

python -m venv venv
source venv/bin/activate  # Для Linux/MacOS
venv\Scripts\activate     # Для Windows

4. Установите зависимости

pip install -r requirements.txt

Создайте базу данных и загрузите данные

python ddl.py

Запустите дашборд

streamlit run main.py

Описание дашборда

Дашборд включает в себя следующие элементы:

Заголовок дашборда

  • "Интерактивный Дашборд Продаж"

Элементы управления (фильтры)

  1. Период заказа: Фильтр по диапазону дат заказов.
  2. Имя клиента: Фильтр по имени клиента.
  3. Название магазина: Выбор магазина из списка.
  4. Название продукта: Множественный выбор продуктов.
  5. Категория продукта: Множественный выбор категорий продуктов.

Диаграммы

  1. Общий объем продаж по продуктам: Столбчатая диаграмма.
  2. Общий объем продаж по клиентам: Столбчатая диаграмма.
  3. Количество заказов по датам: Линейный график.
  4. Средняя скидка по продуктам: Столбчатая диаграмма.
  5. Общий объем продаж по магазинам: Столбчатая диаграмма.
  6. Общий объем продаж по категориям: Столбчатая диаграмма.

Таблица

  • Детали заказов: Отображение данных о заказах в табличном формате.

Использование

  1. Фильтрация данных:

    • Используйте элементы управления на боковой панели для фильтрации данных на дашборде.
    • Изменения фильтров автоматически обновляют диаграммы и таблицу.
  2. Интерактивность диаграмм:

    • Наведите курсор на элементы диаграмм, чтобы увидеть подробные данные.
    • Вы можете увеличивать и уменьшать масштаб графиков для удобства анализа.
  3. Обновление данных:

    • Если вы изменили данные в исходных CSV-файлах, запустите ddl.py снова, чтобы обновить базу данных и дашборд.

Требования к окружению

  • Python: Версия 3.12.3 или выше.
  • Установленные библиотеки: Все зависимости перечислены в файле requirements.txt.

Дополнительная информация

Документирование кода: Каждый модуль, функция и переменная в проекте задокументированы для облегчения понимания и поддержки кода. Стиль кодирования: Код форматирован в соответствии со стандартами PEP 8 для Python. Обработка ошибок: В коде предусмотрена базовая обработка ошибок и вывод информативных сообщений.

Ссылка на streamlit проекта

https://github.com/behzod33/course_project_lib.git

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages