· 3 мин чтения

«Сходим»: афиша города и компания к каждому событию

636 актуальных событий из трёх источников, вход через VK в один клик, матчи и чаты, push-уведомления. Разбор сервиса shodem.ru и честный статус: это тестирование, а не готовый продукт.

проектывеб-сервистестирование

Идея простая и знакомая: люди не ходят на события не потому, что не хотят, а потому что не с кем.

Не «сайт знакомств» и не «найти вторую половинку на всю жизнь», а куда прозаичнее — **идёшь на

премьеру в четверг, второй билет лишний, кто со мной?**

Так появился shodem.ru — «Сходим». Сразу оговорюсь: проект на этапе тестирования,

как и всё, что я сейчас делаю. Ниже — что уже работает и что я вижу в его слабых местах.

Что внутри сейчас

Афиша города собирается автоматически. Три живых источника (Timepad, «Культура.РФ», E1.ru)

сейчас дают 636 актуальных событий в 12 категориях: концерты, выставки, театр, экскурсии, спорт, лекции,

обучение, развлечения, «детям». Сбор и обновление идут без моего участия.

Вход — один клик через VK. Ни анкет, ни загрузки фото при регистрации: человек уже авторизован

в соцсети, лишний шаг только теряет людей.

«Иду» вместо «познакомиться». Отмечаешь, что идёшь на событие, и видишь, кто ещё идёт.

Никакого свайпа по лицам — только по событиям.

Лайк → взаимный лайк → чат. Матч открывает переписку, и о нём приходит push-уведомление —

даже когда сайт закрыт. Приложение добавляется на главный экран телефона и работает как обычное

мобильное, хотя это сайт.

Своё событие. Если нужного нет в афише («иду в поход на Уктус, зову с собой») — создаёшь его сам,

и оно попадает в общую ленту.

Жалобы и модерация. Есть кнопка жалобы и админка: события от новых авторов попадают на проверку,

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

Как это устроено технически

  • Сервер на Node.js, база — PostgreSQL в контейнере, схема на 111 строк: пользователи, события,

«иду», лайки, матчи, чаты, сообщения, жалобы, push-подписки.

  • Интерфейс — два экрана (главная и афиша), около полутора тысяч строк, плюс service worker для

офлайн-режима и уведомлений.

  • Авторизация — VK OAuth; проверено, что запросы без входа отдают 401, то есть закрытые разделы

не открываются «по ссылке».

Код писался вместе с ИИ-агентами: я ставлю задачи и проверяю результат, агенты пишут и правят.

Именно это и делает такой проект возможным для одного человека: не «нанял команду», а «описал

задачу и проверил».

Где слабые места (честно)

  • Матчи без людей не работают. Сервис полезен, когда в городе есть хотя бы несколько десятков

активных пользователей. Сейчас это главный вопрос проекта, а не техника.

  • Афиша требует чистки. Сбор из четырёх источников даёт дубли (30 совпадающих названий)

и мусорные категории («другое» — самая большая группа). Два прежних источника пришлось отключить: один закрылся для серверов (403), у второго

афиша стала рендериться скриптами. Вместо них подключён городской портал E1 — так что работа идёт,

но за источниками нужно следить.

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

но этого мало для спокойствия.

Что дальше по плану

Аватары и поиск по интересам, рейтинги после встреч, чистка категорий в афише. И главное —

живые пользователи в Екатеринбурге: без них всё остальное не имеет смысла.

Посмотреть, как это выглядит: shodem.ru. Вход через VK, бесплатно.

Если тема вам близка и есть что сказать по продукту — напишите мне, я читаю всё.

Комментарии 0

Пока никто не высказался — будьте первым.

Есть вопрос по дереву или по проекту — напишите, отвечу сам.

ildare@ildare.ru