🇵🇱 Дедлайн по e-PIT всё ближе ⏳ Поддержите devby из уже уплаченных налогов 💙
Support us

Прижало, а туалета рядом нет? Разработчик сделал Telegram-бот с картой общественных туалетов

Мне давно хотелось создать собственный проект, который действительно приносил бы людям пользу. Не очередной AI-powered-стартап, который по сути оказывается лишь прослойкой между API ChatGPT и пользователем.

Однажды я возвращался в Минск из автобусного тура в Санкт-Петербург. Было около 7 утра, и после долгой поездки без остановок мне очень захотелось в туалет. На вокзале я быстро нашёл нужную точку в Яндекс Картах, но на месте выяснилось, что туалет закрыт.

Тогда я подумал: почему до сих пор нет простого и удобного сервиса, который помогает быстро находить именно открытые общественные туалеты, а не просто точки на карте без актуальной информации?

Решил для самого себя написать Telegram-бота, который ищет публичные туалеты. 

5 комментариев
Прижало, а туалета рядом нет? Разработчик сделал Telegram-бот с картой общественных туалетов

Мне давно хотелось создать собственный проект, который действительно приносил бы людям пользу. Не очередной AI-powered-стартап, который по сути оказывается лишь прослойкой между API ChatGPT и пользователем.

Однажды я возвращался в Минск из автобусного тура в Санкт-Петербург. Было около 7 утра, и после долгой поездки без остановок мне очень захотелось в туалет. На вокзале я быстро нашёл нужную точку в Яндекс Картах, но на месте выяснилось, что туалет закрыт.

Тогда я подумал: почему до сих пор нет простого и удобного сервиса, который помогает быстро находить именно открытые общественные туалеты, а не просто точки на карте без актуальной информации?

Решил для самого себя написать Telegram-бота, который ищет публичные туалеты. 


Кто пишет: Евгений Лешок, Java-разработчик, создатель сервиса ТуТочка


Запускаешь бот и ищешь туалет

Идея сервиса максимально простая: дать человеку быстрый и понятный способ найти ближайший общественный туалет без лишних действий.

Достаточно перейти по ссылке, открыть Telegram-бот и отправить геолокацию. После этого бот сразу покажет список ближайших туалетов. Остаётся только выбрать подходящий вариант и открыть карточку с описанием и маршрутом в Яндекс Картах, 2ГИС, Google Maps или Apple Maps.

Как отправить геолокацию вручную

Переходите в бот и нажимаете кнопку «Старт». Дальше: 

  1. Нажмите на значок скрепки внизу слева.
  2. Выберите раздел «Геопозиция».
  3. Нажмите «Отправить геопозицию».

Если нужно указать конкретное место, а не текущую геопозицию, то нажмите на значок поиска вверху справа и введите нужный адрес, например: Минск.

Так работает бот

На текущем этапе бот доступен только для Минска. В дальнейшем я планирую добавить поддержку и других городов Беларуси.

Зачем это нужно

Сама идея не уникальна, подобные решения уже существуют в разных странах. Особенно их много в Японии, где инфраструктуре общественных туалетов уделяют большое внимание. Там такие сервисы могут показывать не только расположение туалетов, но и их состояние. Например, уровень занятости или чистоты кабинок.

Да, туалеты уже обозначены есть на обычных картах. Но у этих приложений другая задача: они просто показывают точку на местности. А я хочу сделать сервис, где можно отразить, что действительно важно пользователю. Фильтровать типы туалета, чистоту, доступность для людей с инвалидностью, наличию пеленального столика и другие параметры. 

В моем сервисе предусмотрена такая возможность, но данный функционал еще не доступен для пользователей. 

Также я хочу, чтобы пользователи могли сами добавлять туалеты в сервис. Пока что создал группу, куда люди присылают нужные точки. Когда наберётся база пользователей, то сделаю отдельный бот. Там можно будет добавлять туалеты и получать за это  вознаграждение. 

Почему я всё равно решил попробовать

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

Но меня это только мотивировало. Я понял, что не стоит общаться с теми, кто постоянно выливает негатив. Даже если сервисом воспользуется всего один человек и ему поможет — всё было не зря. 

После работы в корпоративной среде я всё чаще задумываюсь о том, что ценность измеряется не только деньгами. Не менее важно ощущение, что ты делаешь что-то по-настоящему полезное. Мне всегда хотелось приносить в мир что-то хорошее. Поэтому мне хочется делать вещи, которые приносят реальную пользу, без кричащих названий и пафоса.

Для меня это важный этап еще и по личной причине: это первый проект, который я действительно довел до рабочего состояния, а не забросил на половине пути. Он пока не идеален, но уже работает, и выполняет свою базовую функцию.

Техническая составляющая

Технически проект состоит из двух частей: бэкенда и Telegram-бота. 

Бэкенд — это основа всей системы. Он обрабатывает запросы, работает с базой данных PostgreSQL и хранит информацию о туалетах. Бот выступает интерфейсом для пользователя: принимает сообщения, отправляет запросы на сервер и возвращает найденные результаты. Для разработки я использовал Java, Spring и TelegramBots на стороне бота, а серверную часть написал на Kotlin, Ktor и jOOQ.

В основе хранения данных — PostgreSQL с расширением PostGIS для геопространственных запросов. Благодаря этому поиск ближайших туалетов можно выполнять быстро и без лишней нагрузки, что особенно важно для сервиса, завязанного на геолокации.

После изучения различных вариантов я остановился на провайдере Google Cloud. Сервер находится в США и работает на бесплатном тарифе: e2-micro, 1 GB RAM и 30 GB диска. База данных размещена на Neon, тоже на бесплатном тарифе, но уже в Европе.

Разработку вел один, в свободное время, иногда по вечерам или выходным. Весь процесс занял около 4 месяцев с перерывами. Поначалу было непросто: особенно много времени ушло на погружение в Ktor и решение мелких, но постоянно возникающих технических задач, с которыми сталкиваешься после перехода из мира Java.

Наверное, главная ошибка на старте была типичной для пет-проектов: мне хотелось сразу сделать как надо и предусмотреть все наперед. Я слишком много думал об архитектуре, пытался заложить запас на будущее и добавить больше возможностей, чем реально было нужно для MVP. Из-за этого разработка затянулась, а сам проект стал менее стабильным.

Куда может вырасти проект

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

В будущем я планирую выводить проект в оффлайн. Например, установить современные биотуалеты в проходных местах. Доступ был бы по QR-коду: приложил телефон и вошёл. При этом внутри должны быть обеспечены базовые вещи, которые действительно важны: чистота, туалетная бумага, средства личной гигиены и другие необходимые мелочи.

Или строить маршруты для дальнобойщиков и водителей, которые совершают длительные поездки. Тогда человек мог бы заранее видеть туалеты по пути к конечной точке и понимал бы, где можно остановиться в экстренной ситуации.

Можно добавить функцию взаимопомощи для женщин: посетительница, которая недавно была рядом, сможет помочь в деликатной ситуации — например, если срочно нужно средство гигиены.

Скоро в сервисе могут появиться коды доступа к туалетам в KFC, McDonald’s и других сетях. Это поможет быстрее находить нужную информацию и сэкономит время на месте.

Ищу коллег!

Я изначально задумываю этот проект как полностью бесплатный. Буду рад, если со временем удастся найти финансирование, партнёрства или другие форматы поддержки. 

В начале года я планировал представить проект на одном из стартап-мероприятий, где рассматривают инициативы и помогают с развитием, но ивент отменили. Поэтому сейчас мне особенно важно услышать советы, обратную связь и любую полезную информацию от людей, которые понимают, как развивать такие проекты и кому их можно показывать.

Если вам близка эта идея и вы хотите помочь, буду рад любому отклику. Сейчас особенно актуальна помощь от таких людей: 

  • человек с опытом в развитии продуктов, стартапов или партнёрств — чтобы помочь структурировать идеи, расставить приоритеты и понять, где искать поддержку;
  • фронтенд-разработчик — для создания сайта с картой, поиском и фильтрацией туалетов;
  • дизайнер — для логотипа, визуального стиля и интерфейсов;
  • маркетолог или человек с опытом продвижения — чтобы помочь с развитием проекта и привлечением аудитории;

Также любые другие специалисты и просто неравнодушные люди, которым интересно поучаствовать в развитии полезного городского сервиса.

Мнение автора может не отражать позицию редакции. 

Что ещё почитать про пет-проекты у комьюнити: 

  • Беларус придумал приложение, которое поможет лучше воспринимать тексты книг. И ищет CTO и инвестора; 
  • Дзе знаходзіцца Сянно? Беларусы стварылі бот, які дапаможа лепей вывучыць геаграфію радзімы; 
  • Беларусы придумали аппку, которая поможет подобрать идеальный подарок. 
Поддержите редакцию 1,5% налога: бесплатно и за 5 минут

Как помочь, если вы в Польше

Читайте также
Программист создал Telegram-бота для своих соседей. Бот прижился уже в двух новостройках Минска
Программист создал Telegram-бота для своих соседей. Бот прижился уже в двух новостройках Минска
Программист создал Telegram-бота для своих соседей. Бот прижился уже в двух новостройках Минска
27 комментариев
Минский программист сделал Telegram-бота для поиска квартиры в аренду
Минский программист сделал Telegram-бота для поиска квартиры в аренду
Минский программист сделал Telegram-бота для поиска квартиры в аренду
9 комментариев
117 домов, 14000 соседей: как минский программист монетизирует бота «Домовой» и почему не хочет открывать код
117 домов, 14000 соседей: как минский программист монетизирует бота «Домовой» и почему не хочет открывать код
117 домов, 14000 соседей: как минский программист монетизирует бота «Домовой» и почему не хочет открывать код
3 комментария
Бот поможет выбрать «непопулярное» место для отдыха в Беларуси
Бот поможет выбрать «непопулярное» место для отдыха в Беларуси
Бот поможет выбрать «непопулярное» место для отдыха в Беларуси
1 комментарий

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

2

Такі сэрвіс павінен працаваць аффлайн.

Мапу і пошук можна зрабіць праз слой на OpenStreetMap.
Там жа можна знайсці вялікую базу прыбірален па ўсяму свету ды нават проста паказаць.

grover
grover Deputy Cleaner, Timemanager, AgileBuddy в SoftUyiss
0

chuesh- kozhny vuhal pribiral'nya

-2

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

grover
grover Deputy Cleaner, Timemanager, AgileBuddy в SoftUyiss
-1

lagodna, yak!

Яна Пильник
Яна Пильник Дрессировщик программистов в Филиал БГУ ЦИРК
0

Идея мёртвая, так как в РБ можно зайти в любое кафе или магазин и воспользоваться туалетом там.

Точно по той же причине в стране не развиты общественные туалеты.