Skip to content

🚌 Визуализация стоимости проезда и сервис по выбору оптимальных билетов на общественный транспорт Москвы

Notifications You must be signed in to change notification settings

novvember/mosmetro-tickets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Визуализатор проездных билетов Москвы

Приложение позволяет увидеть среднюю стоимость использования разных билетов на общественный транспорт Москвы на нагляном двухмерном графике (он же номограмма). По одной оси — поездки на метро, на второй — поездки на наземном транспорте (ТАТ — трамвай, автобус, троллейбус).

👀 Ссылка на работающий сервис: novvember.github.io/mosmetro-tickets

Как пользоваться

Найти самый выгодный билет

  1. На горизонтальной оси отметить количество поездок на метро (в среднем за месяц),
  2. на вертикальной — количество поездок на наземном транспорте (тоже среднее за месяц).
  3. На пересечении будет точка с информацией об оптимальном билете.

Смотреть и изучать

  • В целом видны характерные области использования тех или иных билетов
  • Видно общую картину билетов (например, некоторые билеты ни в каких ситуациях не выгодны)

Как это работает

Написано на HTML / TypeScript / React.js / Redux и поэтому полностью работает в браузере на стороне пользователя.

Исходные параметры билетов — в файле ./src/data/ticketsData

Параметры расчета — в файле ./src/data/appConfig. По умолчанию:

  • в месяце 30 дней,
  • рассчитывается график размером до 50 поездок по каждой оси.
  1. Для каждого билета сриптом создается поле с его стоимостью использования

  2. Такие же поля создаются для сочетаний билетов. Сочетания нужно дополнительно вносить в файл параметров билетов как отдельные билеты.

  3. Создается общее поле, в котором для каждой ячейки указаны значения по всем билетам, а также рассчитаны наиболее выгодный билет и другие значения.

  4. На странице генерируются график (шкалы на осях, сами ячейки), элементы управления (форма).

  5. В ячейки графика на страницу переносится информация из рассчитанного поля.

Стек технологий

  • HTML5 / CSS3 / BEM
  • TypeScript
  • React.js
  • Redux Toolkit

Сейчас это уже 3-я версия сервиса. Первая версия была на кустарном JS, а вторая — на чистом JS + ООП.

Предыдущие версии

Доступны в тегах проекта.

План развития, чеклист

Сейчас релизовывается минимальная работа сервиса, а также внутренняя реалзиация Redux-хранилища.

Также выполненные, запланированные и далекие задачи можно увидеть на Github Issues. Отдельно отмечены те, что будут выполнены в первую очередь.

Контакты, сообщить об ошибке

Если вы нашли ошибку в расчетах, создайте баг на Github Issues или просто напишите на n.demitsuri@gmail.com.

About

🚌 Визуализация стоимости проезда и сервис по выбору оптимальных билетов на общественный транспорт Москвы

Topics

Resources

Stars

Watchers

Forks