От блога о путешествиях - к сервису для путешественников

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

  

Картинка (для привлечения внимания) изображает путешественника в процессе планирования, и это не случайно.

Первоначально сайт altman.kiev.ua задумывался именно как тревел-блог. И начинался проект как standalone блог, ведущийся в таком же стиле, как и блог в Живом Журнале. Хотя уже при переходе от ЖЖ к "отдельно стоящему" блогу я писал, что основная цель - это лучшая структуризация информации и создание базы данных для путешественников. 

Вот по этому пути проект и развивается неспешными шагами. Почему неспешными? Потому что есть основная работа, и она занимает действительно много времени. Если вдруг кто не знает, основная работа - это финансы, ИТ и автоматизация учета, и об этом я иногда пишу в специализированном блоге. Остается примерно 10 часов в неделю, которые я с удовольствием уделяю своему туристическому детищу.

В первый период развития я постарался максимально использовать возможности CMS, которую я выбрал, а именно Joomla!. Этот проект я веду на Joomla 2.5, хотя два других (куклы и 3experts) пока остаются на версии 1.5. Должен сказать, что и темп и направление развития Joomla! мне нравятся. Например, в 2.5 появилась многоуровневость категорий, что колоссально облегчило создание структуры постов направлениям, странам, поездкам и т.д.

Однако в какой-то момент я понял, что достичь тех целей, которые я себе придумал в этом проекте, (конкретнее о целях см. ниже) невозможно, используя только имеющиеся в Joomla! средства. И даже среди тысяч расширений (joomla! extensions), написанных сторонними разработчиками, не нашлось ни одного, хоть наполовину отвечающего моим потребностям. Поэтому не оставалось ничего иного, как начинать писать собственное расширение, а точнее компонент. Задача, конечно, трудная, но в моем случае - выполнимая. Я все же учился на программиста и около 10 лет интенсивно программировал на С а затем на C++. Более того, на основной работе я и сейчас занимаюсь постановкой задач и управлением программными разработками. 

Что я успел сделать за несколько месяцев в направлении собственной разработки:

  1. Более-менее разобрался с внутренним устройством Joomla! и написанием собственных расширений. В этой части мне также в целом нравится вектор развития системы. На данный момент это уже не просто CMS, а по сути фреймворк, платформа для разработки веб-приложений. Сама Joomla! теперь делится на два проекта: Joomla Platform, и Joomla CMS,
  2. Уже могу что-то писать на PHP5. Для человека, хорошо знающего С++ (пусть даже и после 15-летнего перерыва в практике, ООП это же как езда на велосипеде) начать программировать на PHP не должно составить большой сложности.
  3. Продвинулся в понимании современных концепций ООП и веб-разработки. За 15 лет в этом мире произошло прямо скажем много всего. Свой компонент стараюсь писать в полном соответствии с парадигмой MVC (Model-View-Controller). Узнал, что еще в 1994 году появилась такая замечательная вещь как шаблоны проектирования (design patterns). То есть шаблоны появились раньше, а в 1994 году вышла книга от так называемой "банды четырех", ставшая канонической в современном объектно-ориентированном дизайне приложений. Вот эту книгу я сейчас очень вдумчиво читаю.
  4. Сделал прототип базы данных точек интереса, а также прототипы страниц различных списков таких точек, в первую очередь достопримечательностей. Вот примеры того, что получилось: Страница крепости Шпандау в Берлине. Обратите внимание на список различных ссылок внизу страницы Страница замка "Барбакан" в Банска-Быстрица в Словакии. Здесь кроме фотографии и карты есть еще и встроенная сферическая панорама места. Страница "Замки и крепости Словакии".
  5. Все страницы, приведенные в качестве примеров в предыдущем пункте, сгенерированы полностью автоматически. Все объекты, связи между ними, иерархия, ссылки и т.д. хранятся в базе данных. Таким образом, для создания новой страницы для новой точки достаточно добавить информацию в БД со всеми нужными атрибутами, и страница будет готова, при этом все групповые страницы  автоматически обновятся, а новые создадутся. Во всем этом, конечно же, нет ничего сверхъестественного или революционного, но для меня это принципиально другой уровень создания информационно-туристического контента по сравнению с написанием статей средствами CMS.
  6. Сделал заготовку для системы планирования путешествий. Пример: план поездки в Словакию осенью 2012 года.

 

Каковы вообще цели всего этого?

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

  1. Возможность увидев где-либо в интернете ссылку на интересное место, куда в-принципе хотелось бы попасть, быстро добавить это место в базу данных,  указав при этом все дополнительные данные (местоположение, тип, страна, регион и т.д.)
  2. Удобно просматривать под разными углами созданную таким образом базу данных точек интереса: по странам и регионам, по типам достопримечательностей и других точек интереса, по отдельным интересующим свойствам, и т.д. В том числе в виде групп точек на карте.
  3. Составлять идеи будущих путешествий из точек интереса, сохранять эти идеи, оценивать и сравнивать их.
  4. Превращать идеи путешествий в конкретные планы, составлять маршруты, привязываясь к датам, местам проживания  и т.п.

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

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

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

 

{flike}