Skip to content

bukabtw/bus-analysis-coursework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BAC Автопарк - Анализ пассажиропотока

Python PyQt6 SQLite Pandas

Проектирование и разработка приложения для автоматизации анализа пассажиропотока и распределения автобусов по маршрутам.

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

BAC Автопарк - это десктопное приложение для автоматизации учёта и анализа работы автобусного парка. Система позволяет эффективно управлять пассажиропотоком и распределением транспортных средств по маршрутам. Приложение реализовано на Python 3.11 с использованием PyQt6 для создания пользовательского интерфейса и SQLite для хранения данных.

Основные возможности

Учёт и справочники

  • Автобусный парк: управление данными о транспортных средствах (госномер, модель, вместимость)
  • Маршрутная сеть: ведение информации о маршрутах (номер, название)
  • Персонал: учёт водителей (ФИО, номер удостоверения)

Оперативный учёт

  • Регистрация рейсов: привязка к транспорту, маршруту и водителю
  • Автоматические расчёты: процент загрузки на основе вместимости
  • Визуализация: цветовая индикация перегруженных и слабозагруженных рейсов

Аналитика и отчёты

  • Мониторинг загрузки: анализ пиковых часов
  • Топ-5 маршрутов: отображение наиболее загруженных направлений
  • Рекомендации: автоматические советы по оптимизации
  • Дашборд: ключевые показатели работы парка
  • Экспорт: сохранение полного текстового отчёта в reports/.

Дополнительно

  • Глобальный поиск по автобусам, маршрутам, водителям и рейсам.
  • Переключение темы приложения: светлая / тёмная.
  • Базовые тестовые данные по Москве загружаются автоматически.

Технологический стек

  • Язык: Python 3.11+
  • GUI: PyQt6
  • База данных: SQLite 3
  • Аналитика: встроенные SQL-запросы и Python-логика
  • Данные: pandas

Установка и запуск

  1. Клонируйте репозиторий:
git clone https://github.com/bukabtw/bus-analysis-coursework.git
  1. Установите зависимости:
pip install -r requirements.txt
  1. Запустите приложение:
python app.py

При первом запуске база data/bus_company.db создаётся автоматически и заполняется тестовыми данными.

Структура проекта

coursework-transport-optimization/
├── app.py
├── requirements.txt
├── README.md
├── data/
│   └── bus_company.db
├── reports/
└── transport_opt/
    ├── __init__.py
    └── qt_app/
        ├── __init__.py
        ├── data_service.py
        ├── main_window.py
        ├── matplotlib_canvas.py
        ├── pages.py
        └── theme.py

Что есть в интерфейсе

  • Дашборд - KPI, топ загруженных маршрутов и рекомендации
  • Аналитика - графики, таблица по маршрутам и текстовый отчёт
  • Автобусы - добавление и просмотр автобусов
  • Маршруты - добавление и просмотр маршрутов
  • Водители - добавление и просмотр водителей.
  • Рейсы - регистрация рейсов и журнал поездок

Тестовые данные

В приложении предустановлены:

  • 12 маршрутов Москвы.
  • 12 автобусов разных моделей.
  • 10 водителей.
  • 2400+ рейсов за неделю с распределением по часам пик.

Экспорт отчётов

При нажатии на кнопку Экспорт отчета создаётся файл формата:

reports/report_20260325_233858.txt

Файл содержит полную статистику парка, анализ маршрутов и рекомендации по распределению автобусов.

Контакты:

Выполнено в 2026 году в рамках курсовой работы.

About

Coursework

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages