Сервис по созданию и поиску событий

29 апреля 2011 г.

Сегодня мне бы хотелось поведать Вам о нашем проекте под названием ‘Where to go?’. Для начала сделаем небольшой отступ и собственно познакомить Вас с содержанием этой статьи. Итак, как и в любой истории, в нашей имеются: введение, завязка, кульминация и развязка. Впоследствии я коротко опишу обстоятельства возникновения “Where to go?”, а так же основные «фишки» нашей аппликации. Остальное Вы можете увидеть и испробовать на wtogo.net.

Часть 1: Введение – «Куда пойти, куда податься?»:

Итак, все началось с того, что, сидя в пятничный вечер на работе и мерно попивая кофе в преддверии насыщенного вечера, мы с друзьями отчаянно пытались найти место, в котором обыденная реальность потеряла бы свою власть над нами. Тут нужно заметить, что город наш отличается тем, что количество оригинальных заведений в нем растет быстрее, чем долги по ипотеке. Каждые несколько месяцев появляется что-то новенькое со своей изюминкой.
Конечно же, способом поиска был избран поиск в интернете. Стучать по клавишам и решать в чате, где скоротать вечер, казалось бы, что может быть проще? Но не тут-то было. Как оказалось, с постоянно следующей за человеком жаждой чего-то нового, довольно сложно вспомнить несколько приличных заведений, помимо приевшихся, а получить информацию о программах некоторых и подавно невозможно.
Чей-то отчаянный возглас в скайпе – « Ну почему нельзя собрать все в одном месте?!», породил искру для будущего проекта.

Часть 2: Завязка – «Откуда я взялся?»

Итак, искра. Как это обычно и бывает, хорошая идея не заставила долго ждать своего развития. Собравшись в тот же вечер в одной из шумных пивных нашего города, мы продолжили размышления над тем, чего именно не хватает современным сервисам, предоставляющим информацию о событиях. Мы задумались, сколько раз каждый из нас стыкался с вопросом, «ну что куда пойдем?», или «куда повести девушку на свидание?», или «чем разбавить серые будни?». Что именно ищут люди помимо злачных заведений и их меню? Мы начали составлять список событий, которые наиболее востребованы в сфере развлечений. На помощь пришли друзья с идеями насчет фестивалей, выставок, представлений и прочих событий. Так у нас появился плацдарм для развития.
Целями себе на первый релиз мы поставили:

  • Создать каталог грядущих событий разного вида упорядоченных в одном месте.
  • Обеспечение легкого поиска нужных пользователю событий.
  • Возможность, не отрываясь на сотни окон, выбрать место времяпровождения.

Часть 3: Кульминация – «Мы строили, строили и, наконец, построили»

Взяв за основу то, что основной «фишкой» аппликации должно быть отображение всех событий визуально, на интуитивно понятном интерфейсе – мы взялись за создание «скелета».
Основным, что должно быть доступно – это выбор события в своем городе. Дабы избежать огромных форм, необходимых для фильтрации, а также для визуализации процесса, было решено использовать старый, добрый Google Maps. Это позволило убить сразу несколько зайцев наряду с дедом Мазаем:
Во-первых, решалась проблема с визуализацией событий. Согласитесь, приятно ведь наблюдать все варианты в одном месте с возможностью определения отдаленности и учетом других факторов.
Во-вторых, решалась проблема с тем, чем же занять пользователя на время его пребывания. Ведь занимательней ориентироваться на карте, нежели рассматривать пестрые, но сухие списки с набором вариантов.
В-третьих, карта избавляла нас от необходимости ограничиваться территориально и позволяет создавать события в любой точке мира.
Несколько опций на боковой панели, позволяющих в несколько кликов оставить лишь необходимые события на карте, призваны максимально облегчить поиск событий на карте и в таблице на той же панели.
Помимо стандартной регистрации, вход в систему так же возможен через OpenID для таких провайдеров как Google, Yahoo, Yandex.
На данный момент для зарегистрированных посетителей мы добавили возможность:

  • Создание события, путем прохождения визарда состоящего из 4х шагов призванных ответить на вопросы: где? что? когда? и кто?
  • Возможность приглашать гостей на любые события.
  • Возможность подписываться на события (в будущем мы планируем добавить возможность комментирования событий).
  • Возможность отображения исключительно своих событий на карте.

Разработка заняла около 4х месяцев, в ходе которых было выпито несколько галлонов кофе, перекроено все вдоль и поперек несколько раз и вот, что у нас получилось в итоге:
Скриншот сервиса поиска событий
Сейчас запущена Beta версия аппликации. Мы не планируем делать создание событий платным, поэтому каждый может зарегистрироваться и создать события.

Часть 4: Развязка или «Что дальше?»

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

  • Облегчить нахождения события путем полноценного текстового поиска.
  • Отображение событий отдельным списком, а не на карте для выбранной территории. К списку будут применимы те же опции, что и для карты.
  • Возможность добавлять автора события в избранные.
  • Возможность создания приватного события, с определенным списком гостей, которым будет виден этот ивент.
  • Возможность связывать события между собой и многие другие.

Часть 5: Техническая

И так как уже было упомянуто на разработку проекта было потрачено около 4 мес. За это время мы столкнулись со многими трудностями, которые уже не раз упоминались в хабра топиках, а именно: выгорание(Основателям стартапов нечасто удается соблюдать баланс работы и личной жизни), Потеря фокуса: распыление (Отвлечение на “а что если”). Не смотря на это, нам все таки удалось воплотить задуманное, а помощниками в этом нелегком деле нам стали следующие технологии:
База данных – PostgreSQL
Слой доступа к базе – Hibernate, JPA 2
Слой бизнес логики – Spring, Spring Security, Velocity
Слой презентации – Vaadin, GWT

Все это прекрасное чудо крутиться на VPS сервера с конфигурацией: 4GM RAM, 2×3000 МГц Core i7, RAIDx5 200 Гб, что по моим подсчетам должно хватить до 1000 одновременных пользователей. Рисунок внизу показывает нашу диаграмму разворачивания (в скобочках указано к-во памяти отданное под процесс)
VPS
Также на сервере установлена самая простоя система мониторинга за системными ресурсами (Munin) и апатчем (Apache Mod Status), которая умеет строить довольно таки красивые и информативные графики:

Apache Mod Status

Спасибо за внимание! Мы надеемся, что наша аппликация пригодится Вам и вашим близким!
С уважением,
Команда “Where to go?”

Теги: рубрика Интернет