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

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

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

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

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

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

7 комментариев
Прижало, а туалета рядом нет? Разработчик сделал 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 комментариев
Бот поможет выбрать «непопулярное» место для отдыха в Беларуси
Бот поможет выбрать «непопулярное» место для отдыха в Беларуси
Бот поможет выбрать «непопулярное» место для отдыха в Беларуси
1 комментарий
«Будет красивый репозиторий на git». Беларус сделал сервис, который хранит контекст для разных нейросетей
«Будет красивый репозиторий на git». Беларус сделал сервис, который хранит контекст для разных нейросетей
«Будет красивый репозиторий на git». Беларус сделал сервис, который хранит контекст для разных нейросетей

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

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

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

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

3

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

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

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

chuesh- kozhny vuhal pribiral'nya

-2

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

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

lagodna, yak!

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

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

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

-2

Точно? Тебе нужно для этого вести себя так, будто ты владелец этого заведения, стоит тебе СПРОСИТЬ разрешения - и все они так очень вежливо пытаются тебе сообщить, что ты здесь ЧУЖОЙ. У них есть система свой чужой - семья превыше всего. А ты не из семьи... Так что тебя пустят если это маленькая пивнушка - там можно зайти по-братски, и в некоторых магазинах, там можно дико извинясь спросить. А все остальные в ЛУЧШЕМ случае покажут тебе пальцем, где платный. Где за 100 литров бензина (по Иранским ценам) или за 180 целофанновых пакетов (если по себестоимости) можно пописять.

0

И как и водится во всех коммерческих ботах и приложениях - первое что было сделано - удален контакт автора. Видимо, чтобы тот кто захотел познакомится - никогда его не нашел. "По соображениям безопаности". Конечно! Безопаность это очень важно. Только не автора. А конкурентов, которые могут обанкротится, если десяток разработчиков объединятся друг с другом.